c#datagridview 如何选中行,以及怎么获取选中行的数据
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了如下:private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; if (e.Button == System.Windows.Forms.MouseButtons.Right) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true; } }右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:if (dataGridView1.CurrentRow == null) return; DataGridViewRow dgvr = dataGridView1.CurrentRow; string val = dgvr.Cells["???"].Value.ToString();你自己要获取的数据
c# 中如何DataGridView选中行的值?
1、获得某个(指定的)单元格的值:dataGridView1.Row[i].Cells[j].Value;2、获得选中的总行数:dataGridView1.SelectedRows.Count;3、获得当前选中行的索引:dataGridView1.CurrentRow.Index;4、获得当前选中单元格的值:dataGridView1.CurrentCell.Value;5、取选中行的数据string[]str=newstring[dataGridView.Rows.Count];for(inti;i<dataGridView1.Rows.Count;i++){if(dataGridView1.Rows[i].Selected==true){str[i]=dataGridView1.Rows[i].Cells[1].Value.ToString();}}6、获取选中行的某个数据inta=dataGridView1.SelectedRows.Index;dataGridView1.Rows[a].Cells["你想要的某一列的索引,想要几就写几"].Value;7、获得某个(指定的)单元格的值:dataGridView1.Row[i].Cells[j].Value;Row[i]应该是Rows[i]inta=dataGridView1.CurrentRow.Index;stringstr=dataGridView1.Row[a].Cells["strName"].Value.Tostring();selectedRows[0]当前选中的行.cell[列索引].values就是当前选中行的某个单元格的值DataGridView1.SelectedCells(0).Value.ToString取当前选择单元内容DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString当前选择单元第N列内容扩展资料C#DataGridView选中多行并删除if(this.dataGridView1.Rows.Count==0){MessageBox.Show("没有记录可以下机");return;}DialogResultdr=MessageBox.Show("删除后不可恢复,确定要删除选中的上机用户吗?","提示",MessageBoxButtons.OKCancel);if(dr==DialogResult.OK){for(inti=0;i<dataGridView1.SelectedRows.Count;i++){if(dataGridView1.SelectedRows[i].Cells[0].Value.ToString()=="√"){this.dataGridView1.Rows.RemoveAt(i);}}}}
C# dataGridview控件,怎么获取行数。
一、创建一个Form测试表单,包括一个DataGridView,它有三列:DataGridView,DataGridView,这三列表示期末考试成绩表二、点击添加数据按钮,填写添加数据代码://some codeint index = this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = textBox1.Text;this.dataGridView1.Rows[index].Cells[1].Value = textBox2.Text;this.dataGridView1.Rows[index].Cells[2].Value = textBox3.Text。三、单击“运行”以填充数据。四、单击“添加”添加一行数据。五、可以从最后一个获取行数
C# dataGridview控件,怎么获取行数。
1、新建一个Form做测试,包含一个DataGridView,DataGridView有三列,分别是学号,姓名,分数表示一个期末考试分数表。2、双击添加数据按钮,填写添加数据代码://some codeint index = this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = textBox1.Text;this.dataGridView1.Rows[index].Cells[1].Value = textBox2.Text;this.dataGridView1.Rows[index].Cells[2].Value = textBox3.Text。3、点击运行,填写数据。4、点击添加即可添加一行数据。5、最后看的可以获取行数。
DataGridView操作技巧
通常会设置的DataGridView的属性 AllowUserToAddRows False 指示是否向用户显示用于添加行的选项 列标题下面的一行空行将消失 一般让其消失 AllowUserToDeleteRows False 指示是否允许用户从DataGridView删除行 一般不允许 AllowUserToOrderColumns False 指示是否启用手动列重新放置 一般不允许 AllowUserToResizeColumns True 指示用户是否可以调整列的大小 一般允许 AllowUserToResizeRows False 指示用户是否可以调整行的大小 一般不允许 AutoSizeColumnsMode Fill 确定可见列的自动调整大小模式 BorderStyle None/FixedSingle/Fixed D DataGridView的边框样式 GridColor 任意 分隔DataGridView单元格的网格线的颜色 MultiSelect False 指示用户一次是否可以选择DataGridView的多个单元格 行或列 ReadOnly True 指示用户是否可以编辑DataGridView控件的单元格 RowHeadersVisible False 指示是否显示包含行标题的列 SelectionMode FullRowSelected 指示如何选择DataGridView的单元格 如何获取用户所选的那个单元格中的内容? string oop = this DataGridView SelectedRows[ ] Cells[ ] Value ToString() Trim(); 上面语句的意思是将用户所选的第一行中第一个单元格中的值转换为String类型并去处两边的空格赋值给oop字符串 如何获取用户所选的那行中我想得到的单元格中的内容? string loginID = this DataGridView Rows[e RowIndex] Cells[ LoginID ] Value ToString() Trim(); e RowIndex 获取触发此单击事件时用户所选行的下标 上面的语句写在DataGridView控件的单击事件中 双击事件也可以 LoginID是DataGridView控件中一列的列名 作用就是获取用户选中那一行的表示LoginID的内容 如何确定用户是否选择了DataGridView中的一行数据 而没有点到别处呢? if (this DataGridView SelectedRows Count != ) {} 如何将用户所选的那行数据整体获取出来? 前提是DataGridView的数据源是一个实体类集合 这样DataGridView中的每行数据才都是一个实体类对象 将DataGridView中的一行数据整体获取出来才有意义 Student student = this DataGridView SelectedRows[ ] DataBoundItem as Student; 一般上面的语句都写在DataGridView的单击或双击事件中 弄不好在DataGridView中会显示多余的列 如何避免这种问题呢? 在DataGridView控件的Load事件的第一行写上这样的代码 private void frmMain_Load(object sender EventArgs e) { this dataGridView AutoGenerateColumns = false; //让它不自己产生多余的列 } lishixinzhi/Article/program/net/201311/11403