XtraTreeList行定位
在XtraTreeList绑定数据后,要进行行定位,即指定选中行,方法有以下两种:
DevExpress.XtraTreeList.TreeList treeList = new DevExpress.XtraTreeList.TreeList(); treeList.DataSource = dt; TreeListNode node = treeList.Nodes[0]; //选中指定行 //方法一 treeList.FocusedNode = node; //方法二 treeList.SetFocusedNode(node);
有的时候不起作用,有可能是因为重新为树绑定了数据源之后,原来节点node已经变更,在现有的树上找不到,应该用原有记录的节点找到现在树中同个节点,再进行指定:
代码如下:
DevExpress.XtraTreeList.TreeList treeList = new DevExpress.XtraTreeList.TreeList(); //绑定数据源 treeList.DataSource = dt; //记录当前选中节点 TreeListNode node = treeList.FocusedNode; //重新绑定数据源 treeList.DataSource = dt; //选中指定行 if (node != null) { //根据旧节点找到新节点,有三种方法: //treeList .FindNodeByID (int nodeID); //treeList .FindNodeByFieldValue (string fieldName,object CellValue) //treeList.FindNodeByKeyID(object keyID) TreeListNode newNode = treeList.FindNodeByKeyID(node["Id"]); //选中指定行:newNode //方法一 treeList.FocusedNode = newNode; //方法二 treeList.SetFocusedNode(newNode); }