在XtraTreeList绑定数据后,要进行行定位,即指定选中行,方法有如下两种:node
DevExpress.XtraTreeList.TreeList treeList = new DevExpress.XtraTreeList.TreeList(); treeList.DataSource = dt; TreeListNode node = treeList.Nodes[0]; //选中指定行 //方法一 treeList.FocusedNode = node; //方法二 treeList.SetFocusedNode(node);
有的时候不起做用,有多是由于从新为树绑定了数据源以后,原来节点node已经变动,在现有的树上找不到,应该用原有记录的节点找到如今树中同个节点,再进行指定:ide
代码以下:spa
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); }