当TreeList绑定到数据源时,setValue()不起作用

时间:2019-09-07 14:07:13

标签: c# winforms devexpress treelist

我遍历树列表以查找特定的树列表节点。此treeList1绑定到设计者的数据源。

for (int i =0; i<treeList1.Nodes.Count; i++)
    {
     if (GL_ID == treeList1.Nodes[i].GetValue(0).ToString()) {
     //treeList2 is unbound and it works
     treeList2.Nodes[0].SetValue(treeListColumn1, "myval");
     treeList1.Nodes[i].SetValue(colGL_Name_VC, GL_Name_VC);
     treeList1.Nodes[i].SetValue(colBS_Category_VC, BS_Category_VC);
     treeList1.Nodes[i].SetValue(colStatus_BT, STATUS_BT);
break;
            }

完成getValue()的设置后,没有任何变化。

1 个答案:

答案 0 :(得分:0)

如果正确配置了TreeList,则无论您在绑定模式还是非绑定模式下使用此控件,该方法都应起作用。另外,如果您的任务是查找节点并更新其值,建议您使用TreeListFindNodeByFieldValue方法,而不要手动遍历节点。我在下面说明了这种方法的主要思想:

        var targetNode = treeList1.FindNodeByFieldValue(targetColumn.FieldName, GL_ID);
        targetNode.SetValue(colGL_Name_VC, GL_Name_VC);
        targetNode.SetValue(colBS_Category_VC, BS_Category_VC);
        targetNode.SetValue(colStatus_BT, STATUS_BT);