当前单元格指的是
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)
[C#]
//
取得当前单元格内容
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)
[C#]
//
设定
(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];
}
*
注意
: this.dataGridView
的索引器的参数是
: columnIndex, rowIndex
或是
columnName, rowIndex
这与习惯不同。
c#中在datagridview的表格动态增加一个按钮方法,如果想要这一套教程的可以移步去这里
《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家对代码有问题,想交流的可以进群,私聊我就可以了!
效果图片 :
在Load事件中写入代码
那ui有了功能怎么办呢?别急我们在 dataGridView1_CellContentClick事件中添加方法
这样的话 我们就可以点击对应行的修改来获取到id的值这里有一个bug就是第三行没数据需要隐藏,现在还没有解决,欢迎大家指出!.....