datagrid数据源有三百条记录,滚动条显示,控件能显示五行。
通过串口控制修改数据,每修改一条记录,焦点自动转移到下一条。
我的问题是:想让获得焦点的记录一直处于控件的正中间,也就是让滚动条自动往下滚动,使得用户可以一直看到当前其正在修改的记录。
我的实现代码:
sql = "update LC_" + crafts + " set state =\'"+state+"\' where ID=" + dataGrid1[rowIndex, 0].ToString().Trim();
int temp = SQLiteHelper.ExecuteSql(sql);
dataGrid1.DataSource = ShowCrafts(sqlInitial, crafts, " ");
if (rowIndex >= ((DataTable)(dataGrid1.DataSource)).Rows.Count - 1)
rowIndex = 0;
else
rowIndex++;
dataGrid1.CurrentRowIndex = rowIndex-2;
dataGrid1.UnSelect(rowIndex-2);
dataGrid1.Select(rowIndex);
但是代码运行后发现,datagrid会同时选中当前页面中第一行和第三行的记录,求解决方案~
------解决方案--------------------
C# 没有用过
能不能将 datagrid 设置为单选呢