• 发布一篇 DataTable 转化为适合 jquery easyui tree,combotree 的json 函数


    显示效果如下:
    1 /// <summary>
    2 /// 递归将DataTable转化为适合jquery easy ui 控件tree ,combotree 的 json
    3 /// 该方法最后还要 将结果稍微处理下,将最前面的,"children" 字符去掉.
    4 /// </summary>
    5 /// <param name="dt">要转化的表</param>
    6 /// <param name="pField">表中的父节点字段</param>
    7 /// <param name="pValue">表中顶层节点的值,没有 可以输入为0</param>
    8 /// <param name="kField">关键字字段名称</param>
    9 /// <param name="TextField">要显示的文本 对应的字段</param>
    10 /// <returns></returns>
    11 public static string TableToEasyUITreeJson(DataTable dt,string pField,string pValue,string kField,string TextField)
    12 {
    13 StringBuilder sb = new StringBuilder();
    14 string filter = String.Format(" {0}='{1}' ", pField, pValue);//获取顶级目录.
    15 DataRow[] drs = dt.Select(filter);
    16 if (drs.Length < 1)
    17 return "";
    18 sb.Append(",\"children\":[");
    19 foreach (DataRow dr in drs)
    20 {
    21 string pcv = dr[kField].ToString();
    22 sb.Append("{");
    23 sb.AppendFormat("\"id\":\"{0}\",",dr[kField].ToString());
    24 sb.AppendFormat("\"text\":\"{0}\"",dr[TextField].ToString());
    25 sb.Append(TableToEasyUITreeJson(dt, pField, pcv,kField,TextField).TrimEnd(','));
    26 sb.Append("},");
    27 }
    28 if (sb.ToString().EndsWith(","))
    29 {
    30 sb.Remove(sb.Length - 1, 1);
    31 }
    32 sb.Append("]");
    33 return sb.ToString();
    34 }
    调用方法:
    1 string result = "";
    2 BLL.UniversalTree BLLU = new BLL.UniversalTree();
    3 DataTable Dt = BLLU.GetAllList().Tables[0];
    4 result=TableToEasyUITreeJson(Dt, "parentsid", "0", "sid", "Name");
    5 if (result.Length > 12)
    6 {
    7 result = result.Substring(12);
    8 }
    9 return result;
    html代码
    1 <asp:TextBox id="txtUniverSalSid" runat="server" width="600px"></asp:TextBox>
    2
    3 $(function() {
    4 $("#<%=txtUniverSalSid.ClientID %>").combotree({
    5 url: "/ajaxhander/json.ashx?param=getuniversaltree"
    6 });
    7 });
  • 相关阅读:
    JQ分页练习
    Dom1
    JQ轮播图
    Dom操作
    DYR
    jQ点击事件
    [z]vc boost安装
    [z] .net与java建立WebService再互相调用
    [z]
    git常用命令二
  • 原文地址:https://www.cnblogs.com/handk/p/1988466.html
Copyright © 2020-2023  润新知