在程序加载前,设置 程序的焦点在最后一行
tv.FocusedRowHandle = list_Option.Count - 1;gridControl.SelectedItem = tv.FocusedRowHandle;
但是,加载之后,程序设置到最后一行,又不知为何,是什么再次触发事件,从而导致焦点从最后一行转到另外一行。
另外一行每次都是一样的,但是又没有规律,因为,当删除哪一行的话,重新打开,焦点又会转到其他行。
暂时解决方法
在TableView添加FocusedRowHandleChanged事件,而促发另外的事件是有规律的,第三次之后会触发焦点跳转事件。
设置一个字段count 记录触发的次数,当count=3的时候,再次设置焦点转到最后一行。
focushandlecount++;
if (focushandlecount == 3)
{
tv.FocusedRowHandle = list_Option.Count - 1;
gridControl.SelectedItem = tv.FocusedRowHandle;
e.Handled = true;
}
这样,可以达到设置初次打开跳转到最后一行的问题。
DevExpress GridControl 的Focus焦点触发,是由于ItemSource数据的变化而变化的,这种变化包括新绑定数据,排序等操作。