如何进行树控件操作原创
金蝶云社区-疯狂的石头
疯狂的石头
7人赞赏了该文章 1,567次浏览 未经作者许可,禁止转载编辑于2020年12月30日 10:05:43


单据插件中,可以在this.View.GetControl<TreeView>("FTreeKey");    //根据Key获取树控件

treeView.SetRootVisible(false); //可以设置是否显示根节点

treeView.SetExpanded(true); //可以设置树是否展开

TreeNode root=new TreeNode(){id="0",text="TreeView",icon="image base64"}; //创建一个根节点

treeView.SetRootNode(root);//设置为根节点

for(var i=0;i<10;i++)    //给根节点追加子节点

{

    TreeNode tn=new TreeNode(){id="1",text="node1",.icon="image base64"};

    root.children.Add(tn);

    //root.children.Insert(i,tn); //也可以用插入的方式

}

treeView.Select("3"); //选中某一个节点

view.InvokeControlMethod("ExpandNode","3"); //展开某一个节点

2、递归加载树的方法


var treeView=this.View.GetControl<TreeView>("FTreeKey");    //根据Key获取树控件


TreeNode root=new TreeNode(){id="1",text="TreeView",icon="image base64"}; //创建一个根节点


treeView.SetRootNode(root);//设置为根节点


AddNode(root);


void AddNode(TreeNode parent)

{

     foreach(var item in 根据父ID加载的子项集(parent.id))    {

            TreeNode tn=new TreeNode(){id=item["id"].ToString(),text=item["Name"].ToString()};

        parent.children.Add(tn);

    }

}    

3、常用的树事件方法

public override void TreeNodeClick(TreeNodeArgs e)

{

        if(e.Key.EqualsIgnoreCase=="FTreeKey")

        {

            var id=e.NodeId;

            //用Id做些事情

        }


赞 7