国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類目錄樹

2024-07-10 13:30:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類目錄樹,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net常見控件實(shí)現(xiàn)無(wú)限極分類目錄樹的具體實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
 

本文實(shí)例講述了asp.net實(shí)現(xiàn)DropDownList,TreeView,ListBox的無(wú)限極分類目錄樹。分享給大家供大家參考,具體如下:

#region DropDownList無(wú)限遞歸顯示層次關(guān)系/// <summary>/// 創(chuàng)建無(wú)限分級(jí)下拉列表框/// </summary>/// <param name="ddlst">下拉控件</param>/// <param name="dt">源DataTable</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>public static void CreateLevelDropDown(DropDownList ddlst, DataTable dt, string text, string value, string parentid){  ArrayList allItems = new ArrayList();  DataRow[] rows = dt.Select(parentid + "=0");  foreach (DataRow row in rows)    CreateLevelDropDownAssistant(dt, ref  allItems, row, string.Empty, text, value, parentid);  ListItem[] items = new ListItem[allItems.Count];  allItems.CopyTo(items);  ddlst.Items.AddRange(items);}/// <summary>/// 遞歸綁定子節(jié)點(diǎn)/// </summary>/// <param name="dt">源DataTable</param>/// <param name="items">數(shù)組</param>/// <param name="parentRow">當(dāng)前節(jié)點(diǎn)</param>/// <param name="curHeader">前綴</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>private static void CreateLevelDropDownAssistant(DataTable dt, ref  ArrayList items, DataRow parentRow, string curHeader, string text, string value, string parentid){  ListItem newItem = new ListItem(curHeader + Until.CutString(parentRow[text].ToString(), 18, true), parentRow[value].ToString());  items.Add(newItem);  DataRow[] rows = dt.Select(parentid + "=" + newItem.Value);  for (int i = 0; i < rows.Length - 1; i++)    CreateLevelDropDownAssistant(dt, ref  items, rows[i], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┣", text, value, parentid);  if (rows.Length > 0)    CreateLevelDropDownAssistant(dt, ref  items, rows[rows.Length - 1], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┗", text, value, parentid);}#endregion#region TreeView 無(wú)限遞歸顯示層次關(guān)系目錄樹/// <summary>/// 創(chuàng)建無(wú)限分級(jí)目錄樹TreeView/// </summary>/// <param name="treeview">TreeView空間</param>/// <param name="dt">數(shù)據(jù)源DataTable</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>public static void CreateLevelTreeView(TreeView treeview, DataTable dt, string text, string value, string parentid){  DataView dv = dt.DefaultView;  dv.RowFilter = parentid + "=0";  foreach (DataRowView drv in dv)  {    TreeNode node = new TreeNode();    node.Text = drv[text].ToString();    node.Value = drv[value].ToString();    node.Expanded = false;    treeview.Nodes.Add(node);    CreatTreeViewChildNode(dv, node, text, value, parentid);  }}/// <summary>/// 遞歸綁定子節(jié)點(diǎn)/// </summary>/// <param name="dv">源DataView</param>/// <param name="parentNode">當(dāng)前節(jié)點(diǎn)</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>private static void CreatTreeViewChildNode(DataView dv, TreeNode parentNode, string text, string value, string parentid){  dv.RowFilter = parentid + "=" + parentNode.Value;  foreach (DataRowView row in dv)  {    TreeNode replyNode = new TreeNode();    replyNode.Text = row[text].ToString();    replyNode.Value = row[value].ToString();    replyNode.Expanded = false;    parentNode.ChildNodes.Add(replyNode);    CreatTreeViewChildNode(dv, replyNode, text, value, parentid);  }}/// <summary>/// 創(chuàng)建無(wú)限分級(jí)目錄樹TreeView/// </summary>/// <param name="treeview">TreeView空間</param>/// <param name="dt">數(shù)據(jù)源DataTable</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="url">url字段</param>/// <param name="parentid">深度字段 例如parentid</param>public static void CreateLevelTreeView(TreeView treeview, DataTable dt, string text, string value, string url, string parentid){  DataView dv = dt.DefaultView;  dv.RowFilter = parentid + "=0";  foreach (DataRowView drv in dv)  {    TreeNode node = new TreeNode();    node.Text = drv[text].ToString();    node.Value = drv[value].ToString();    node.NavigateUrl = drv[url].ToString();    node.Expanded = false;    treeview.Nodes.Add(node);    CreatTreeViewChildNode(dv, node, text, value, url, parentid);  }}/// <summary>/// 遞歸綁定子節(jié)點(diǎn)/// </summary>/// <param name="dv">源DataView</param>/// <param name="parentNode">當(dāng)前節(jié)點(diǎn)</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="url">url字段</param>/// <param name="parentid">深度字段 例如parentid</param>private static void CreatTreeViewChildNode(DataView dv, TreeNode parentNode, string text, string value, string url, string parentid){  dv.RowFilter = parentid + "=" + parentNode.Value;  foreach (DataRowView row in dv)  {    TreeNode replyNode = new TreeNode();    replyNode.Text = row[text].ToString();    replyNode.Value = row[value].ToString();    replyNode.NavigateUrl = row[url].ToString();    replyNode.Expanded = false;    parentNode.ChildNodes.Add(replyNode);    CreatTreeViewChildNode(dv, replyNode, text, value, url, parentid);  }}#endregion#region 創(chuàng)建無(wú)限分級(jí)ListBox/// <summary>/// 創(chuàng)建無(wú)限分級(jí)ListBox/// </summary>/// <param name="ddlst">ListBox控件</param>/// <param name="dt">源DataTable</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>public static void CreateLevelListBox(ListBox ddlst, DataTable dt, string text, string value, string parentid){  ArrayList allItems = new ArrayList();  DataRow[] rows = dt.Select(parentid + "=0");  foreach (DataRow row in rows)    CreateLevelListBoxAssistant(dt, ref  allItems, row, string.Empty, text, value, parentid);  ListItem[] items = new ListItem[allItems.Count];  allItems.CopyTo(items);  ddlst.Items.AddRange(items);}/// <summary>/// 遞歸綁定子節(jié)點(diǎn)/// </summary>/// <param name="dt">源DataTable</param>/// <param name="items">數(shù)組</param>/// <param name="parentRow">當(dāng)前節(jié)點(diǎn)</param>/// <param name="curHeader">前綴</param>/// <param name="text">text字段</param>/// <param name="value">value字段</param>/// <param name="parentid">深度字段 例如parentid</param>private static void CreateLevelListBoxAssistant(DataTable dt, ref  ArrayList items, DataRow parentRow, string curHeader, string text, string value, string parentid){  ListItem newItem = new ListItem(curHeader + Until.CutString(parentRow[text].ToString(), 18, true), parentRow[value].ToString());  items.Add(newItem);  DataRow[] rows = dt.Select(parentid + "=" + newItem.Value);  for (int i = 0; i < rows.Length - 1; i++)    CreateLevelListBoxAssistant(dt, ref  items, rows[i], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┣", text, value, parentid);  if (rows.Length > 0)    CreateLevelListBoxAssistant(dt, ref  items, rows[rows.Length - 1], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┗", text, value, parentid);}#endregion
 


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到ASP.NET教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 甘南县| 繁昌县| 岫岩| 黑龙江省| 邵阳市| 黄梅县| 万州区| 阜宁县| 泽库县| 桦川县| 乐平市| 定安县| 民乐县| 乐东| 刚察县| 揭阳市| 阿合奇县| 应城市| 丰镇市| 河东区| 福建省| 东辽县| 武威市| 长汀县| 福贡县| 鄂托克旗| 慈利县| 清流县| 黄浦区| 昌邑市| 阿鲁科尔沁旗| 满城县| 噶尔县| 奎屯市| 乐山市| 亳州市| 浮山县| 高州市| 香格里拉县| 黑河市| 嵊州市|