当前单元格指的是
DataGridView
焦点所在的单元格,它可以通过
DataGridView
对象的
CurrentCell
属性取得。如果当前单元格不存在的时候,返回
Nothing(C#
是
null)
[VB.NET]
' 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value)
' 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)
' 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex)
' 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value)
' 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)
' 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex)
[C#]
// 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value);
// 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);
// 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex);
// 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value);
// 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);
// 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex);
另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行: DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。
当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。可以通过 CurrentCell 来设定
DataGridView 的激活单元格。将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。
[VB.NET]
' 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1(0, 0)
' 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1(0, 0)
[C#]
// 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1[0, 0];
// 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1[0, 0];
在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定行。
///
<summary>
/// 向下遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index + 1;
if (row > this .dataGridView1.RowCount - 1)
row = 0;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}
/// <summary>
/// 向上遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index - 1;
if (row < 0)
row = this .dataGridView1.RowCount - 1;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}
/// 向下遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index + 1;
if (row > this .dataGridView1.RowCount - 1)
row = 0;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}
/// <summary>
/// 向上遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index - 1;
if (row < 0)
row = this .dataGridView1.RowCount - 1;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}
* 注意 : this.dataGridView 的索引器的参数是 : columnIndex, rowIndex 或是 columnName, rowIndex
这与习惯不同。
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201775,如需转载请自行联系原作者