[英]How to mark last row in DataGridView in case of vertical scroll bar?
I have try MyDataGridView.Rows[index].Selected = true;
我尝试了
MyDataGridView.Rows[index].Selected = true;
but this marked all the rows. 但这标记了所有行。
What i want is in case of vertical scroll bar i want to see the last row without do it manually 我想要的是在垂直滚动条的情况下,我希望不手动查看最后一行
This is not working because like Selected property
it mark all the rows: 这是行不通的,因为像
Selected property
它标记了所有行:
int last = DataGridView.Rows.Count;
last = DataGridView.FirstDisplayedScrollingRowIndex;
This is my add item function: 这是我的添加项目功能:
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];
});
}
This function focus the last row but selected all the rows in DataGridView 此函数将焦点放在最后一行,但在DataGridView中选择了所有行
Try this: 尝试这个:
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];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.