利用attributes将数据库中的所有数据转换成json并绑定到tree中

12 篇文章 0 订阅

#region 将datatable转换成适合tree的json格式
    StringBuilder result = new StringBuilder();
    StringBuilder sb = new StringBuilder();

   //其中idCol用来绑定tree的id,txtCol用来绑定tree的text,rela来表示父节点

    public string GetTreeJsonByTable(DataTable table, string idCol, string txtCol, string rela, object pId)
    {
        result.Append(sb.ToString());
        sb.Clear();
        if (table.Rows.Count > 0)
        {
            sb.Append("[");
            string filer = string.Format("{0}='{1}'", rela, pId);
            DataRow[] rows = table.Select(filer);
            if (rows.Length > 0)
            {
                foreach (DataRow row in rows)
                {
                    sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"state\":\"open\",\"attributes\":{\"DictID\":\"" + row[0] + "\",\"ParentDictCode\":\"" + row[rela] + "\",\"Description\":\"" + row[4] + "\",\"Note\":\"" + row[5] + "\"}");
                    if (table.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0)
                    {
                        sb.Append(",\"children\":");
                        GetTreeJsonByTable(table, idCol, txtCol, rela, row[idCol]);
                        result.Append(sb.ToString());
                        sb.Clear();
                    }
                    result.Append(sb.ToString());
                    sb.Clear();
                    sb.Append("},");
                }
                sb = sb.Remove(sb.Length - 1, 1);
            }
            sb.Append("]");
            result.Append(sb.ToString());
            sb.Clear();

            return result.ToString();

        }
        else
            return null;

    }
    #endregion

前台编辑tree节点

 //编辑节点
        function edit() {
            var t = $('#tt');
            var node = t.tree('getSelected');
           
            if (node) {
                $('#dlg').dialog('open').dialog('setTitle', '编辑字典');
                $('#fm').form('load', {
                    DictID: node.attributes.DictID,
                    DictCode: node.id,
                    Name: node.text,
                    Description: node.attributes.Description,
                    ParentDictCode: node.attributes.ParentDictCode,
                    Note: node.attributes.Note
                });
                url = 'Ajax/Update_DictHandler.ashx?Name=' + node.text;
             
            }
           
        }

 <div id="dlg" class="easyui-dialog" style="width: 400px; height: 280px; padding: 10px 20px"
        closed="true" buttons="#dlg-buttons">
        <div class="ftitle">
            数据字典</div>
        <form id="fm" method="post" novalidate>
        <table>
        <div class="fitem">
                <tr>
                    <td>
                        <label>
                            字典编码:</label>
                    </td>
                    <td>
                        <input name="DictCode" class="easyui-validatebox" required="true">
                    </td>
                </tr>
        </div>
        <div class="fitem">
                <tr>
                    <td>
                        <label>
                            名称:</label>
                    </td>
                    <td>
                        <input name="Name" class="easyui-validatebox" required="true">
                    </td>
                </tr>
        </div>
        <div class="fitem">
                <tr>
                    <td>
                        <label>
                            字典描述:</label>
                    </td>
                    <td>
                        <input name="Description">
                    </td>
                </tr>
        </div>
        <div class="fitem">
                <tr>
                    <td>
                        <label>
                            上级字典编码:</label>
                    </td>
                    <td>
                        <input name="ParentDictCode" text="123" class="easyui-validatebox" required="true">
                    </td>
                </tr>
        </div>
        <div class="fitem">
                <tr>
                    <td>
                        <label>
                            备注:</label>
                    </td>
                    <td>
                        <input name="Note">
                    </td>
                </tr>
        </div>
         </table>
        </form>
    </div>
    <div id="dlg-buttons">
        <a href="#" class="easyui-linkbutton" iconcls="icon-ok" οnclick="saveDict()">保存</a>
        <a href="#" class="easyui-linkbutton" iconcls="icon-cancel" οnclick="javascript:$('#dlg').dialog('close')">
            取消</a>
    </div>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值