dataGridView的光标指向最后一行(最后一栏)

int i = dataGridView1.Rows.Count - 1;
dataGridView1.CurrentCell = dataGridView1[0, i]; // 强制将光标指向i行
dataGridView1.Rows[i].Selected = true;   //光标显示至i行
### 获取DataGridView控件中最后一行的数据 在C# WinForms应用程序中,可以通过访问`DataGridView.Rows`集合来获取特定行的数据。为了获得DataGridView最后一行数据,可以使用如下方法: 对于绑定到数据源的情况,通常推荐通过数据源本身而不是直接从DataGridView获取数据,因为这能确保即使用户界面未刷新也能得到最新的数据状态。 如果确实需要直接从DataGridView获取最后一行,则应考虑以下两种情况之一:一种是当DataGridView处于编辑模式时;另一种是非编辑模式下。这里主要讨论非编辑模式下的场景。 #### 方法一:通过索引访问Rows集合 可以直接利用`dataGridView1.Rows[dataGridView1.RowCount - 2]`来取得可见的最后一行(注意这里的-2是因为最后一个是新增加的空白行)。然后调用该行内单元格的具体属性值,比如第一列的内容可通过`Value`属性获取: ```csharp if (dataGridView1.RowCount > 0) { var lastVisibleRow = dataGridView1.Rows[dataGridView1.RowCount - 2]; object cellValue = lastVisibleRow.Cells[0].Value; } ``` #### 方法二:遍历所有行查找最后一个有效条目 这种方法适用于更复杂的情形,特别是当你不确定是否有隐藏行或其他特殊情况存在时。此方式更加健壮但也稍微低效一些: ```csharp DataRowView lastItem = null; foreach (DataGridViewRow row in dataGridView1.Rows) { if (!row.IsNewRow && !row.IsDefaultValuesSet()) { lastItem = (DataRowView)row.DataBoundItem; } } // 使用lastItem作为最终的结果 if(lastItem != null){ Console.WriteLine($"Last item's first column value is {lastItem.Row.ItemArray[0]}"); } ``` 上述代码片段展示了如何安全有效地检索DataGridView中的最后一行记录[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值