当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得。如果当前单元格不存在的时候,返回null。
取得当前单元格的内容:
1
|
object obj = this .dgv_PropDemo.CurrentCell.Value; |
注:返回值是object类型的。
取得当前单元格的列Index:
1
|
int columnIndex = this .dgv_PropDemo.CurrentCell.ColumnIndex; |
取得当前单元格所在的行的Index:
1
|
int rowIndex= this .dgv_PropDemo.CurrentCell.RowIndex; |
另外,使用DataGridView.CurrentCellAddress属性来确定单元格所在的行:
1
|
int row= this .dgv_PropDemo.CurrentCellAddress.Y; |
列:
1
|
int column = this .dgv_PropDemo.CurrentCellAddress.X; |
注:DataGridView的行和列的索引都是从0开始的。
当前的单元格可以通过设定DataGridView对象的CurrentCell来改变。
DataGridView1.CurrentCell=DataGridView1[int columnIndex,int rowIndex];
注:如果DataGridVIew的选中模式是行选择,那么会选中当前单元格所在的整行。否则只会选中设置的当前单元格。
将CurrentCell设置为Null可以取消激活的当前单元格。
示例:设置第一行第二列为当前的CurrentCell
1
|
this .dgv_PropDemo.CurrentCell = this .dgv_PropDemo[1, 0]; |
示例:通过向上和向下实现遍历DataGridView
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
/// <summary> /// 向上遍历 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Up_Click( object sender, EventArgs e) { //获取上一行的索引 int upRowIndex = this .dgv_PropDemo.CurrentCell.RowIndex - 1; if (upRowIndex < 0) { //选中最后一行 this .dgv_PropDemo.CurrentCell = this .dgv_PropDemo[0, this .dgv_PropDemo.RowCount - 1]; } else { this .dgv_PropDemo.CurrentCell = this .dgv_PropDemo[0, upRowIndex]; } } /// <summary> /// 向下遍历 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Down_Click( object sender, EventArgs e) { //获取下一行的索引 int nextRowIndex = this .dgv_PropDemo.CurrentCell.RowIndex + 1; if (nextRowIndex > this .dgv_PropDemo.RowCount - 1) { this .dgv_PropDemo.CurrentCell = this .dgv_PropDemo[0, 0]; } else { this .dgv_PropDemo.CurrentCell = this .dgv_PropDemo[0, nextRowIndex]; } } |
到此这篇关于C#操作DataGridView获取或设置当前单元格内容的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/dotnet261010/p/6748378.html