我在WinForms中有一个DataGridView。我使用以下方式以编程方式设置所选行:
int index = CompoundListSource.Find("ID", previousAzeotrope.Compound1.ID);
CompoundListSource.Position = index;
上下文:
BindingSource CompoundListSource = new BindingSource();
CompoundListSource.DataSource = [A DataTable];
选择工作正常。但是,我的DataGridView相当大,所以我通过监听它的Scroll事件来计算行高。滚动DataGridView时,我调用:
GridView.AutoResizeRows(DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders)
由于此调整大小,所选行通常不再显示在显示的行中。
这不是一个严重的问题,但这是一个令人讨厌的问题。这里有谁知道如何解决这个问题?
答案 0 :(得分:2)
您可以设置DataGridView的CurrentCell
以确保查看特定的单元格:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.currentcell.aspx
您也可以设置:
DataGridView.FirstDisplayedScrollingRowIndex = <row index>;
但是,这可能不适用于滚动处理程序,因为它实际上会引发滚动事件本身!我试试看。