EasyUI List轉tree資料格式

2022-02-08 22:34:20 字數 1656 閱讀 1901

using system;

using system.collections;

using system.collections.generic;

using system.linq;

using system.linq.expressions;

using system.reflection;

namespace xhp

public string text

/// /// closed

///

public string state

public listchildren

}/// ///

///

///

///

///

///

///

///

///

/// 樹預設展開級別-1全不展開,0展開所有,1只展開到1級

///

public static listgettreedatafromlist(listlist, expression> idfieldexp,

expression> textfieldexp, expression> pidfieldexp, string rootvalue, string emptyrootname="==全部==",int expendlevel=1)

treemodelbase rlt = new treemodelbase();

if (parent == null)

else

rlt.state = expendlevel > -1 ? null : "closed";

var currentlevel = 1;

gettreedatafromlist_setchild(rlt, list, idprop, textprop, pidprop, expendlevel, currentlevel);

return new list ;

}private static void gettreedatafromlist_setchild(treemodelbase parent,listlist,propertyinfo idprop,propertyinfo textprop, propertyinfo pidprop, int expendlevel,int currentlevel)

else

currentlevel++;

gettreedatafromlist_setchild(tempchild, list, idprop, textprop, pidprop, expendlevel, currentlevel);

parent.children.add(tempchild);}}

}}

}

今天在用到easyui 的tree,treegrid,每次轉出這個資料格式非常不爽,就自己寫了段helper

輸出到前端:

jsonconvert.serializeobject(treedatahelper.gettreedatafromlist(tlist, x1 => x1.id, x1 => x1.name, x1 => x1.parentid, "root", "==所有分類==", 0),

new jsonserializersettings );

的tree用法 linux命令tree用法

tree命令用於以樹狀圖形方式列出目錄結構 指定目錄下的所有檔案 所有目錄 該命令預設未安裝,安裝命令 yum y install tree 語法 tree 選項 引數 常用選項 a all files are listed.顯示所有檔案和目錄 d list directories only.顯示目...

mac通過tree原始碼編譯安裝tree

通過tree原始碼編譯安裝 解壓原始碼 tar xzvf tree 1.6.0.tgz 修改makefile檔案 tree預設的是linux的編譯環境,因此移植到mac裡面需要注釋掉linux的編譯選項,換成mac的編譯選項 直接vim makefile這個檔案 linux defaults cfl...

tree狀資料葉子節點與根節點等的遞迴轉換

做專案時經常遇到樹狀層級資料。從各個層級資料的轉換查詢等。場景如行業類別的多層級,行政區層級,檢查項類別層級等等。資料結構如 id name parentid region area樹狀節點的轉化 public listconverttoleafchildareas listareaids retu...