当使用XPInstantFeedBackMode做数据源时xtraGrid 焦点定到新建行

当使用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

 

你可能感兴趣的:(当使用XPInstantFeedBackMode做数据源时xtraGrid 焦点定到新建行)