方式一:
var channelnewlist = new list();
action> func = null;
func = (q, list) =>}};
foreach (var item in channel)
方式二:
載入的資料生成到select下拉框中,按照層級順序顯示
/// /// 讀取部門層級,全部部門都顯示在同一級,父級後面跟子集,每個節點有level層級int資料,
///
///
///
public async task> getlistbytreeasync(int? state)
else
// 排除父id和本身id相同導致的遞迴異常
list2 = list2.where(x => x.id != x.parent_id).tolist();
listclist = list2.select(x => new departmentview() ).tolist();
//輸出列表,全部部門都顯示在同一級目錄,子集緊跟父級後面
listdlist = new list();
action> func = null;
func = (q, list) =>
} }};
//讀取一級部門
var list1 = clist.where(x=>string.isnullorwhitespace(x.parent_id)).tolist();
for (int i = 0; i < list1.count; i++)
func(item, dlist);
}foreach (var item in dlist)
return dlist;
}
public class departmentview
/// /// 部門名稱
///
public string department_name
/// /// 父級id
///
public string parent_id
/// /// 是否啟用,1=啟用,0=禁用
///
public byte? d_status
/// /// 排序
///
public int sno
/// /// 當前等級
///
public uint level
/// /// 子集部門
執行結果:
翰林院*學士院
**學士甲舍
**學士乙舍
**學士丙舍
*中書舍人院
門下省*禮部
*吏部*工部
*刑部*戶部
*兵部
C 委託 匿名委託
c 委託 匿名委託 委託變數在繫結方法時,是把方法名賦值給了委託變數名,這 樣就需要在類裡面定義方法,而有些方法只用到了 次,這樣的 方法在類裡面過多時,程式的可讀性就不是太好,針對這種情 況,可以使用匿名委託,即不用在類裡面額外定義方法.delegate定義的匿名委託 格式 delegate 引數...
C 2 0 匿名委託
delegate經常被人用來與 相比較,其實兩者在某種程度上由很多共同點。不過delegate有很多更加強大的地方。首先,delegate中可以註冊任意多個 在乙個delegate被呼叫的時候,已經註冊的過程將會被逐個呼叫。其次,delegate允許註冊乙個物件的方法,而不像c 中指可以使用靜態方法...
C 委託 使用匿名方法
使用c 委託還有另一種重要方法 通過匿名方法。其中,匿名方法是用作委託引數的乙個 塊。請看下面的例子 匿名方法的作用是使 更簡化,方便了程式設計師。如果沒有匿名方法,則定義一套事件監聽需要這樣 class program 一般來說,定義的myeventhandler方法只用來響應事件,只在上面那一處...