当使用XPInstantFeedBackMode做为gridview的数据源时使用下面的方法
XPInstantFeedBackMode _xpi=new XPInstantFeedBackMode();
_xpi.ObjectType = typeof(Student);
gridControl_.DataSource = _xpi;
private void gridView__AsyncCompleted(object sender, EventArgs e)
{}
每当XPInstantFeedBackMode的数据源变化时都会执行上面这个函数
XPInstantFeedBackMode所见Gridview行数多少数据就是多少
比如:异步操作完成
1。第一次初始化时_xpi就是固定可见行数加载
2。拖动Gridview滚动条时,_xpi数据增加
3。数据源的数据做出操作:New,Delete,Edite
这些都会执行gridView__AsyncCompleted方法
当我们new 一个行并保存了之后,我们希望Focuse设置在new 出来的行
private void gridView__AsyncCompleted(object sender, EventArgs e)//用_xpi做数据源的gridview异步操作完成
{
if(isNewPKValue)
Gridview1.LocateByValue("PK", newPKValue, new OperationCompleted(AsyncOpCompleted))
}
private void AsyncOpCompleted(object arg)
{
int rowHandle = (int)arg;
Gridview1.FocusedRowHandle = rowHandle;
}
LocateByVlaue查询PK=newPKValue的PK字段,并将行索引做为参数传递给AsyncOpCompleted方法
在AsyncOpCompleted里设置GridView的FocusedRowHandle