亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > ASP.NET生成樹形顯示的GridView實現(xiàn)思路

ASP.NET生成樹形顯示的GridView實現(xiàn)思路

熱門標(biāo)簽:百度ai地圖標(biāo)注 合肥電銷外呼系統(tǒng)哪家公司做的好 玉林市機器人外呼系統(tǒng)哪家好 南陽外呼系統(tǒng)定制化 申請400電話手續(xù) 預(yù)測式外呼系統(tǒng)使用說明 蘋果手機凱立德地圖標(biāo)注 電話機器人軟件銷售工作 同安公安400電話怎么申請流程
目的:生成樹形結(jié)構(gòu)的表格數(shù)據(jù)(EasyUI也有TreeGrid,此處只是提供一個思路),可以擴展單擊展開/收縮節(jié)點
圖例:

類代碼:
復(fù)制代碼 代碼如下:

using System;
using System.Data;
/// summary>
///GridViewHelper 的摘要說明
/// /summary>
public class GridViewHelper
{
private string gridline; //連接線
private DataTable dt; //傳入的DataTable
private DataTable dtOut; //輸出的DataTable
private DataRow row; //用于從DataView取數(shù)據(jù)并增加到dtOut
public GridViewHelper()
{
//
//TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
/// summary>
/// 生成樹形結(jié)構(gòu)的DataTable
/// /summary>
/// param name="datatable">原始數(shù)據(jù)表/param>
/// param name="parentField">上級節(jié)點關(guān)鍵字段/param>
/// param name="parentValue">上級節(jié)點值/param>
/// param name="keyField">本節(jié)點關(guān)鍵字段/param>
/// param name="textField">顯示的文本字段/param>
/// param name="sortString">排序字符串/param>
/// returns>處理后的DataTable/returns>
public DataTable GetGridViewTreeData(DataTable datatable, string parentField, string parentValue, string keyField, string textField, string sortString)
{
datatable.Columns.Add("level", Type.GetType("System.Int32"));
dt = datatable;
dtOut = datatable.Clone();
resetTextField(parentField, parentValue, keyField, textField, sortString, 0);
return dtOut;
}
/// summary>
/// 遞歸生成新的節(jié)點名稱(帶連接線)
/// /summary>
/// param name="parentValueField">上級節(jié)點關(guān)鍵字段/param>
/// param name="parentValue">上級節(jié)點值/param>
/// param name="keyField">本節(jié)點關(guān)鍵字段/param>
/// param name="textField">顯示出來的文本字段/param>
/// param name="sortString">排序字符串/param>
/// param name="level">樹深度/param>
/// returns>/returns>
private void resetTextField(string parentValueField, string parentValue, string keyField, string textField, string sortString,int level)
{
DataView dv = new DataView(dt, parentValueField + "='" + parentValue + "'", sortString, DataViewRowState.CurrentRows);
int a = dv.Count;
if (dv.Count == 0)
{
return;
}
for (int i = 0; i a; i++)
{
gridline = "";
dv.RowFilter = parentValueField + "='" + parentValue + "'";
dv.Sort = sortString;
getTreeLine(parentValueField, dv[i][parentValueField].ToString(), keyField, dv[i][keyField].ToString(), sortString);
dv.RowFilter = parentValueField + "='" + parentValue + "'";
dv.Sort = sortString;
row = dtOut.NewRow();
for (int c = 0; c dv[i].Row.ItemArray.Length; c++)
{
row[c] = dv[i][c];
}
dtOut.Rows.Add(row);
dtOut.Rows[dtOut.Rows.Count - 1][textField] = gridline + (i == a - 1 ? "┗" : "┣") + dv[i][textField].ToString();
dtOut.Rows[dtOut.Rows.Count - 1]["level"] = level;
resetTextField(parentValueField, dv[i][keyField].ToString(), keyField, textField, sortString,level+1);
}
dv.Dispose();
}
/// summary>
/// 回溯生成樹的連接線
/// /summary>
/// param name="parentValueField">上級節(jié)點關(guān)鍵字段/param>
/// param name="parentValue">上級節(jié)點值/param>
/// param name="keyField">本節(jié)點關(guān)鍵字段/param>
/// param name="nodeKey">本節(jié)點值/param>
/// param name="sortString">排序字符串/param>
/// returns>/returns>
private void getTreeLine(string parentValueField, string parentValue, string keyField, string nodeKey, string sortString)
{
//選擇父層節(jié)點
DataView dv = new DataView(dt, keyField + "='" + parentValue + "'", sortString, DataViewRowState.CurrentRows);
if (dv.Count > 0)
{
//選擇父節(jié)點同級節(jié)點
dv.RowFilter = parentValueField + "='" + dv[0][parentValueField].ToString() + "'";
dv.Sort = sortString;
for (int j = 0; j dv.Count; j++)
{
if (dv[j][keyField].ToString() == parentValue)
{
if (j == dv.Count - 1)
{
gridline = " " + gridline;
}
else
{
gridline = "┃" + gridline;
}
}
}
getTreeLine(parentValueField, dv[0][parentValueField].ToString(), keyField, dv[0][keyField].ToString(), sortString);
}
dv.Dispose();
}
}

HTML示例代碼:
復(fù)制代碼 代碼如下:

%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewTree.aspx.cs" Inherits="GridViewTree" %>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
title>生成樹形顯示的GridView/title>
style type="text/css">
body
{
line-height: 16px;
font-size: 14px;
}
td
{
padding: 0 2px;
}
/style>
/head>
body>
form id="form1" runat="server">
table>
tr>
td valign="top">
asp:DropDownList ID="DropDownList1" runat="server">
/asp:DropDownList>
/td>
td>
asp:GridView ID="GridView1" runat="server" BorderWidth="1px" CellPadding="3" GridLines="Vertical"
AutoGenerateColumns="False" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None">
AlternatingRowStyle BackColor="#F7F7F7" />
Columns>
asp:BoundField DataField="ConText" HeaderText="文本" />
asp:BoundField DataField="id" HeaderText="ID">
ItemStyle HorizontalAlign="Right" Width="80px" />
/asp:BoundField>
asp:BoundField DataField="ParentID" HeaderText="父ID">
ItemStyle HorizontalAlign="Right" Width="80px" />
/asp:BoundField>
asp:BoundField DataField="level" HeaderText="Level">
ItemStyle HorizontalAlign="Right" Width="80px" />
/asp:BoundField>
/Columns>
FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
SortedAscendingCellStyle BackColor="#F4F4FD" />
SortedAscendingHeaderStyle BackColor="#5A4C9D" />
SortedDescendingCellStyle BackColor="#D8D8F0" />
SortedDescendingHeaderStyle BackColor="#3E3277" />
/asp:GridView>
/td>
/tr>
/table>
/form>
/body>
/html>

后臺代碼:
復(fù)制代碼 代碼如下:

DataTable dt = gvHelper.GetGridViewTreeData(datatable, "ParentID", "1", "ID", "ConText", "ConText asc");
GridView1.DataSource = dt;
GridView1.DataBind();
DropDownList1.Items.Add("");
DropDownList1.AppendDataBoundItems = true;
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "ConText";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
您可能感興趣的文章:
  • Jquery.TreeView結(jié)合ASP.Net和數(shù)據(jù)庫生成菜單導(dǎo)航條
  • 常用的在數(shù)據(jù)庫中建立無限級樹形菜單的asp.net代碼
  • asp.net 獲取指定文件夾下所有子目錄及文件(樹形)
  • asp.net實現(xiàn)遞歸方法取出菜單并顯示在DropDownList中(分欄形式)
  • ASP.NET遞歸法求階乘解決思路
  • 遞歸輸出ASP.NET頁面所有控件的類型和ID的代碼
  • asp.net實現(xiàn)DropDownList,TreeView,ListBox的無限極分類目錄樹
  • asp.net TreeView與XML三步生成列表樹
  • Asp.net treeview實現(xiàn)無限級樹實現(xiàn)代碼
  • asp.net TreeView遞歸循環(huán)子節(jié)點生成樹形菜單實例

標(biāo)簽:南京 揚州 嘉興 淄博 海南 南京 南昌 臺州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET生成樹形顯示的GridView實現(xiàn)思路》,本文關(guān)鍵詞  ASP.NET,生成,樹形,顯示,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET生成樹形顯示的GridView實現(xiàn)思路》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET生成樹形顯示的GridView實現(xiàn)思路的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    香蕉视频三级| 亚洲女初尝黑人巨高清在线观看| 国产91视频网| 亚洲第一视频在线播放| 青青青草影院 | 国产不卡高清在线观看视频| 尤物视频网站在线观看| 四虎久久影院| 国产综合成人观看在线| 精品国产亚洲人成在线| 欧美激情伊人| 黄视频网站免费观看| 亚洲第一色在线| 国产福利免费视频| 欧美激情一区二区三区在线 | 精品在线免费播放| 精品久久久久久中文字幕一区| 成人影视在线观看| 国产极品精频在线观看| 久久国产影视免费精品| 精品视频在线观看免费| 香蕉视频三级| 国产欧美精品| 天天做人人爱夜夜爽2020毛片| 欧美激情一区二区三区视频 | 日韩免费片| 美女被草网站| 精品视频在线看| 国产91精品系列在线观看| 香蕉视频一级| 国产极品精频在线观看| 国产精品1024在线永久免费| 国产91精品一区| 久草免费在线视频| 国产麻豆精品免费密入口| 日日日夜夜操| 欧美a级成人淫片免费看| 午夜久久网| 国产不卡在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本特黄特色aaa大片免费| 一级毛片看真人在线视频| 天天做人人爱夜夜爽2020| 亚洲 激情| 久草免费在线观看| 国产视频久久久久| 可以免费在线看黄的网站| 91麻豆精品国产综合久久久| 免费的黄色小视频| 亚洲 国产精品 日韩| 国产视频网站在线观看| 国产一区二区精品| 成人a大片在线观看| 青草国产在线| 国产麻豆精品免费密入口| 亚欧乱色一区二区三区| 成人免费观看的视频黄页| 免费一级生活片| 日韩在线观看视频网站| 深夜做爰性大片中文| 美女免费精品视频在线观看| 欧美激情在线精品video| 国产网站免费| 午夜久久网| 亚州视频一区二区| 91麻豆精品国产高清在线| 精品国产一区二区三区久 | 成人免费网站久久久| 日日夜人人澡人人澡人人看免| 美女免费精品高清毛片在线视| 欧美激情一区二区三区在线 | 日韩av片免费播放| 精品国产一区二区三区免费| 欧美大片a一级毛片视频| 国产一区二区精品在线观看| 免费的黄视频| 四虎论坛| 国产激情一区二区三区| 欧美另类videosbestsex高清| 日本伦理片网站| 久久精品免视看国产成人2021| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产a毛片| 99久久网站| 四虎影视库| 欧美激情在线精品video| 国产伦理精品| 可以免费看毛片的网站| 精品久久久久久综合网| 中文字幕Aⅴ资源网| 国产麻豆精品免费密入口| 日日日夜夜操| 日本在线不卡视频| 亚飞与亚基在线观看| 麻豆网站在线免费观看| 99热精品一区| 成人免费一级毛片在线播放视频| 美女被草网站| 精品毛片视频| 日韩在线观看视频免费| 亚洲第一色在线| 久久久成人网| 久草免费在线色站| 成人免费网站视频ww| 久久精品人人做人人爽97| 一级毛片视频免费| 日韩中文字幕在线亚洲一区| 日本在线不卡视频| 黄视频网站在线看| 久久国产影视免费精品| 国产不卡精品一区二区三区| 97视频免费在线| 色综合久久天天综合绕观看| 日日夜人人澡人人澡人人看免| 成人免费观看视频| 国产伦精品一区二区三区无广告| 韩国毛片免费大片| 亚飞与亚基在线观看| 国产一级生活片| 99色视频在线观看| 日韩一级黄色片| 国产91精品系列在线观看| 麻豆系列国产剧在线观看| 久久国产精品自由自在| 美女免费精品高清毛片在线视| 亚洲第一页乱| 可以免费看毛片的网站| 国产成人啪精品| 国产一区二区精品在线观看| 日日夜人人澡人人澡人人看免| 午夜久久网| 国产成人啪精品| 毛片电影网| 九九免费精品视频| 国产网站免费观看| 成人免费网站视频ww| 欧美a级大片| 国产一区二区精品| 国产成人啪精品视频免费软件| 国产91精品一区| 国产一区免费观看| 中文字幕一区二区三区精彩视频 | 欧美国产日韩在线| 精品国产三级a∨在线观看| 日韩字幕在线| 国产伦久视频免费观看视频| 日韩免费片| 九九精品在线播放| 久久99这里只有精品国产| 日本在线播放一区| 国产一区二区精品| 免费的黄视频| 国产a视频| 国产一级强片在线观看| 日韩字幕在线| 日韩中文字幕一区| 可以免费在线看黄的网站| 韩国毛片免费大片| 欧美a级成人淫片免费看| 日韩一级黄色片| 欧美大片毛片aaa免费看| 亚洲精品中文字幕久久久久久| 韩国三级香港三级日本三级la| 国产亚洲免费观看| 成人a大片高清在线观看| 成人影视在线观看| 日韩专区第一页| 精品国产亚一区二区三区| 青青青草影院 | 午夜激情视频在线观看| 欧美一区二区三区性| 国产精品自拍在线观看| 欧美另类videosbestsex久久| 可以免费在线看黄的网站| 国产一区二区精品尤物| 久久精品免视看国产成人2021| 999精品视频在线| 九九久久99| 国产麻豆精品视频| 精品久久久久久中文字幕2017| 91麻豆国产福利精品| 国产精品1024在线永久免费| 欧美激情一区二区三区视频| 日日夜夜婷婷| 欧美激情一区二区三区在线播放| 日本乱中文字幕系列| 欧美爱色| 午夜欧美福利| 青青久久国产成人免费网站| 麻豆系列 在线视频| 香蕉视频久久| 国产91丝袜在线播放0| 欧美日本免费| 黄视频网站免费| 亚洲第一页乱| 国产网站免费在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩一级黄色| 国产不卡福利| 日日夜夜婷婷|