在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); }
