FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3436|回复: 0
打印 上一主题 下一主题

Tree控件增加数组对象的绑定支持

[复制链接]
跳转到指定楼层
楼主
发表于 2014-12-22 16:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
绑定对象的方法里增加以下代码     
else if (DataSource is Array)
                {
                    XmlDocument xml = new XmlDocument();
                    XmlSerializer serializer = new XmlSerializer(DataSource.GetType());
                    TextWriter writer = new StringWriter();
                    serializer.Serialize(writer, DataSource);
                    writer.Close();
                    xml.LoadXml(writer.ToString());
                    NewDataBindToXml(null, xml.DocumentElement.ChildNodes);
                }


///绑定方法
        private void NewDataBindToXml(TreeNode treeNode, XmlNodeList nodes)
        {
            foreach (XmlNode node in nodes)
            {
                var chidnodes = node.ChildNodes;
                var name = string.Empty;
                var value = string.Empty;
                TreePreNodeEventArgs preArgs = new TreePreNodeEventArgs(node);
                OnPreNodeDataBound(preArgs);
                if (!preArgs.Cancelled)
                {
                    TreeNode childNode = new TreeNode();
                    if (treeNode == null)
                    {
                        Nodes.Add(childNode);
                    }
                    else
                    {
                        treeNode.Nodes.Add(childNode);
                    }
                    foreach (XmlNode n in chidnodes)
                    {
                        if (n.Name == _NameFiled)
                        {
                            name = n.InnerText;
                            childNode.Text = name;
                        }
                        else if (n.Name == _ValueFiled)
                        {
                            value = n.InnerText;
                            childNode.NodeID = value;
                        }
                        else if (n.Name == _ListFiled)
                        {
                            if (n.ChildNodes != null)
                            {
                                NewDataBindToXml(childNode, n.ChildNodes);
                            }
                        }
                    }
                    OnNodeDataBound(new TreeNodeEventArgs(childNode, node));
                }
            }
        }



控件增加三个字段
Tree1.ValueFiled = "MenuID";
                Tree1.NameFiled = "MenuName";
                Tree1.ListFiled = "MenuList";


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-4-28 16:43 , Processed in 0.044638 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表