【插件开发】树形控件二次开发相关示例演示以及注意事项

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

【插件开发】树形控件二次开发相关示例演示以及注意事项

【应用场景】

演示常见的树形控件的使用方法。


【注意事项】

在使用树形控件,需要定义一个树形控件全局变量,后续都用这个全局变量来进行操作,这样就可以防止部分属性丢失的问题。


【案例演示】

测试单据,提供树形控件的初始化、添加节点、删除节点、显示节点信息功能演示。


【实现步骤】

<1>编写表单插件和服务插件,代码如下:

namespace BOSTest.Zy.PlugIn
{
    /// <summary>
    /// 树形控件演示
    /// </summary>
    [HotUpdate,Description("树形控件演示")]
    public class TreeViewTestPlugIn: AbstractBillPlugIn
    {
        private TreeView _treeView1;
        /// <summary>
        /// 需要定义全局变量,方便后续对树形控件进行相关操作
        /// </summary>
        public TreeView TreeView1
        {
            get
            {
                if (_treeView1 == null)
                {
                    _treeView1 = this.View.GetControl<TreeView>("FTreeView_83g");
                }
                return _treeView1;
            }
        }

        public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e);
            //初始化
            InitNodes();

        }

        public override void ButtonClick(ButtonClickEventArgs e)
        {

            base.ButtonClick(e);
            if (e.Key.EqualsIgnoreCase("FbtnNew"))
            {
                //添加节点
                AddNode();
            }
            else if (e.Key.EqualsIgnoreCase("FDelete"))
            {
                //删除节点
                DeleteNode();
            }
            else if (e.Key.EqualsIgnoreCase("FPrintLog"))
            {
                //显示节点信息
                PrintNodes();
            }
        }

        private void InitNodes()
        {
            TreeView1.ClearAllNode();
            var rootNode = new TreeNode() { id = "root", text = "全部" };
            TreeView1.SetRootNode(rootNode);
            for (int i = 0; i < 5; i++)
            {
                var node = new TreeNode() { id = "p" + i.ToString(), text = "P" + i ,parentid="root"};
                TreeView1.AddNode(node);
            }
        }

        private void AddNode()
        {
            var node = new TreeNode() { id = "p6", text = "P6",parentid="root" };
            TreeView1.AddNode(node);
        }

        private void DeleteNode()
        {
            if (TreeView1.SelectedNodeId.IsNullOrEmptyOrWhiteSpace()) return;

            var node = TreeView1.TreeNodes.FirstOrDefault(a => a.id == TreeView1.SelectedNodeId);
            TreeView1.DeleteNode(node);
        }

        private void PrintNodes()
        {
            var parameters = string.Empty;
            try
            {
                parameters = Newtonsoft.Json.JsonConvert.SerializeObject(TreeView1.TreeNodes);
            }
            catch
            {
            }
            var log = string.Format("节点信息:{0}", parameters);
            this.View.ShowMessage(log);
        }

        public override void TreeNodeClick(TreeNodeArgs e)
        {
            base.TreeNodeClick(e);
            TreeView1.SelectedNodeId = e.NodeId;
        }
    }
}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。

<3>BOSIDE注册表单插件,保存元数据,开发完毕。



【功能验证】

<1>添加节点:

2、删除节点

3、显示节点信息:



【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696



【插件开发】树形控件二次开发相关示例演示以及注意事项

【应用场景】演示常见的树形控件的使用方法。【注意事项】在使用树形控件,需要定义一个树形控件全局变量,后续都用这个全局变量来进行操作...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息