WinForm的DataGridView如何设置选中某一行?

时间:2021-11-16 00:56:41
以前一直做WPF编程,最近有个项目是用WinForm的,用到了DataGridView,没想到这个控件竟然没有设置选择的函数。我的需求简单描述可以是这样:
1.界面上有一个按钮,一个DataGridView,DataGridView有很多数据,但没有选中任何一行
2.我点击按钮,让DataGridView选中我指定的行,比如说第10行。


这个要求不过分吧,没想到这个控件都没有这功能,难道只能靠用户的鼠标去选择?WPF里的DataGridView都有一个SelectIndex属性,可以设置哪行被选中。请问各位高手有什么好的办法没有?

9 个解决方案

#1


就设置当前单元格是哪一行的第一个单元就行了
例如跳到第10行
this.datagridview1.CurrentCell = this.datagridview1.Rows[10].Cells[0];

#2


mdgv.CurrentCell = mdgv[0, 10]

#3


dataGridView1.Rows[4].Selected = true; 是不是这个样子

#4



            DataGridView dgv = new DataGridView();
            foreach (DataGridViewRow dgvr in dgv.Rows)
            {
                dgvr.Selected = true;
            }

#5


方法如下:
DataGridView1.CurrentCell=DataGridView1.Rows[rowIndex].Cells[columnIndex];

#6


DataGridView.ClearSelection();  
this.dataGridView1.CurrentCell = this.dataGridView1.Rows[行].Cells[列];  
dataGridView1.Rows[0].Selected = true;
FullRowSelect

#7


引用 6 楼 wuyq11 的回复:
DataGridView.ClearSelection();  
this.dataGridView1.CurrentCell = this.dataGridView1.Rows[行].Cells[列];  
dataGridView1.Rows[0].Selected = true;
FullRowSelect

差不多吧?

#8


比如我写选中当前行的所有列 
for(int i=0;i<dataGridView1.Cell.Count;i++) 

String str = this.dataGridView1.CurrentRow.Cell[i].Value.ToString(); 


str 的值就为你当前选中行的所有值~~ 
如果你只需要第3列的值,那么i就是3 

我上面说的是获得你选中当前行的值 

是否选中的话就用 
dataGridView1.CurrentRow.Selected=True 

#9


多谢各位,问题解决

#1


就设置当前单元格是哪一行的第一个单元就行了
例如跳到第10行
this.datagridview1.CurrentCell = this.datagridview1.Rows[10].Cells[0];

#2


mdgv.CurrentCell = mdgv[0, 10]

#3


dataGridView1.Rows[4].Selected = true; 是不是这个样子

#4



            DataGridView dgv = new DataGridView();
            foreach (DataGridViewRow dgvr in dgv.Rows)
            {
                dgvr.Selected = true;
            }

#5


方法如下:
DataGridView1.CurrentCell=DataGridView1.Rows[rowIndex].Cells[columnIndex];

#6


DataGridView.ClearSelection();  
this.dataGridView1.CurrentCell = this.dataGridView1.Rows[行].Cells[列];  
dataGridView1.Rows[0].Selected = true;
FullRowSelect

#7


引用 6 楼 wuyq11 的回复:
DataGridView.ClearSelection();  
this.dataGridView1.CurrentCell = this.dataGridView1.Rows[行].Cells[列];  
dataGridView1.Rows[0].Selected = true;
FullRowSelect

差不多吧?

#8


比如我写选中当前行的所有列 
for(int i=0;i<dataGridView1.Cell.Count;i++) 

String str = this.dataGridView1.CurrentRow.Cell[i].Value.ToString(); 


str 的值就为你当前选中行的所有值~~ 
如果你只需要第3列的值,那么i就是3 

我上面说的是获得你选中当前行的值 

是否选中的话就用 
dataGridView1.CurrentRow.Selected=True 

#9


多谢各位,问题解决