我有一个绑定到数据库表的DataGridView。 DataGridView不可编辑,有一些文本字段可以编辑数据,这些字段由按钮控制。 我有一个NewRow按钮,代码如下:
dataGridView1.AllowUserToAddRows = true;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Selected)
{ row.Selected = false; }
}
dataGridView1.Rows[dataGridView1.NewRowIndex].Selected = true;
我需要的是:
我试过了:
bindSourceGS.Position = dataGridView1.NewRowIndex;
但是没有选择datagridview的newRow。 我想使用datagridview的newRow,因为当用户按下取消按钮时,我不必删除数据集中的行,而datagridview.Rows [i]有一个IsNewRow属性。
答案 0 :(得分:13)
如果 Winform ,则可以使用此
dataGridView1.FirstDisplayedScrollingRowIndex
并将datagridview.CurrentCell
设置为新的行单元格地址。
希望这有帮助
答案 1 :(得分:0)
注意:如果您有混合高行,FirstDisplayedScrollingRowIndex成功,您需要确保行模板高度至少与最后一行高度一样好。这是一个问题,因为我发现无法将行高度设置为大于行模板高度。
答案 2 :(得分:0)
我一直在研究这个问题,发现只要dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.count-1
属性未设置为AutoSizeRowsMode
,设置DisplayedCells
就可以正常工作。
如果您在设置dataGridView1.FirstDisplayedScrollingRowIndex=dataGridView1.Rows.Count -1
时出现问题且网格未滚动到底部,请尝试将AutosizeRowsMode
属性设置为AllCells
。