如何在垂直滚动条的情况下标记数据网格视图中的最后一行
本文关键字:最后 视图 网格 数据网 一行 数据 垂直 滚动条 情况 下标 情况下 | 更新日期: 2023-09-27 18:32:11
我试过MyDataGridView.Rows[index].Selected = true;
但这标记了所有行。
我想要的是,在垂直滚动条的情况下,我想在不手动的情况下查看最后一行
这是行不通的,因为就像Selected property
一样,它会标记所有行:
int last = DataGridView.Rows.Count;
last = DataGridView.FirstDisplayedScrollingRowIndex;
这是我的添加项目函数:
private void AddToDataGridView(MyObject obj)
{
this.Invoke((MethodInvoker)delegate
{
int index = dataGridView.Rows.Add(
obj.machineIpAddress,
obj.fileSize,
obj.fileName,
obj.processId,
DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"),
"Start...");
dataGridView.Rows[index].Cells[5].Style.BackColor = Color.SkyBlue;
ColorRow(index, obj.fileSize);
dataGridView.CurrentCell.Selected = false;
var lastRow = dataGridView.Rows[dataGridView.Rows.Count - 1];
lastRow.Selected = true;
dataGridView.FirstDisplayedCell = lastRow.Cells[0];
});
}
此函数聚焦最后一行,但选择了 DataGridView 中的所有行
试试这个:
dataGridView1.CurrentCell.Selected = false;
var lastRow = dataGridView1.Rows[dataGridView1.Rows.Count - 1];
//de-select the last selected rows;
dataGridView1.SelectedRows.OfType<DataGridViewRow>().ToList().ForEach(x=>x.Selected=false);
lastRow.Selected = true;
dataGridView1.FirstDisplayedCell = lastRow.Cells[0];