asp.net中Repeater中巢狀Repeater來顯示跟外層Repeater資料相關的其他資訊
在實際開發中,比如在統一許可權管理系統中,我們預先定義了一些列角色,我們點選每一個角色,進入一個應用系統列表,我們要知道每個應用系統中,該角色已經擁有多少選單訪問許可權,我們就可以通過Repeater中巢狀Repeater來顯示這些資訊,如下圖所示:
||
||
||
||
主要程式碼如下:
<table id="table1" class="grid" singleselect="true">
<thead>
<tr>
<td style="width: 40px; text-align: left;">
<label id="checkAllOff" onclick="CheckAllLine()" title="全選">
</label>
</td>
<td style="text-align: center;">應用系統名稱
</td>
<td style="text-align: center;">應用系統地址
</td>
<td style="text-align: center;">角色許可權分配情況
</td>
</tr>
</thead>
<tbody>
<asp:Repeater ID="rp_Item" runat="server" OnItemDataBound="rp_Item_ItemDataBound">
<ItemTemplate>
<tr>
<td style="width: 40px; text-align: left;">
<input type="checkbox" value="<%#Eval("System_ID")%>|<%#Eval("System_Name")%>" name="checkbox" />
</td>
<td style="text-align: center;">
<%#Eval("System_Name")%>
</td>
<td style="text-align: center;">
<%#Eval("System_Url")%>
</td>
<td style="text-align: center;">
<asp:Repeater ID="rp_Use" runat="server">
<ItemTemplate>
<%#((AT.Web.ATBase.SysRole.cMsg)Container.DataItem).msg %>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
<% if (rp_Item != null)
{
if (rp_Item.Items.Count == 0)
{
Response.Write("<tr><td colspan='4' style='color:red;text-align:center'>沒有找到您要的相關資料!</td></tr>");
}
} %>
</FooterTemplate>
</asp:Repeater>
</tbody>
</table>
public string _Roles_Name;
public string _key;
private AT_System_IDAO system_idao = new AT_System_Dal();
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
this._Roles_Name = base.Server.UrlDecode(base.Request["Roles_Name"]);
this._key = base.Request["key"];
this.InitData();
}
}
/// <summary>
/// 初始化繫結列表資料
/// </summary>
private void InitData()
{
DataTable dt = this.system_idao.GetApplicationList();
ControlBindHelper.BindRepeaterList(dt, this.rp_Item);
}
protected void rp_Item_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpt2 = (System.Web.UI.WebControls.Repeater)e.Item.FindControl("rp_Use");
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到外層Repeater關聯的資料項
string systemId = rowv["System_ID"].ToString();
DataTable dtList = this.system_idao.GetMenuBindBySystemId(systemId);
DataTable dtRoleRight = this.system_idao.InitRoleRight(this._key, systemId);
string msg = "已分配<font color='blue'>" + dtRoleRight.Rows.Count + "</font>/共<font color='red'>" + dtList.Rows.Count + "</font>個選單!";
List<cMsg> result = new List<cMsg>();
cMsg item = new cMsg();
item.msg = msg;
result.Add(item);
if (result != null)
{
rpt2.DataSource = result;
rpt2.DataBind();
}
}
}
相關文章
- repeater中巢狀放入RadioButtonList巢狀
- 動態綁資料(Repeater控制元件控制元件
- ASP.NET Web Forms – Repeater 控制元件簡介ASP.NETWebORM控制元件
- 流量回放框架 jvm-sandbox-repeater 實踐二框架JVM
- C#控制元件之Repeater控制元件使用C#控制元件
- Mysql 顯示錶的相關資訊 --命令MySql
- SAP HUM巢狀HU研習之HU03顯示內層HU資料巢狀
- 【BUG系列】Fragment中巢狀Fragment,不顯示Fragment巢狀
- 流量錄製回放工具jvm-sandbox-repeater入門篇——服務部署JVM
- [jvm-sandbox-repeater 學習筆記][入門使用篇] 2 配置說明JVM筆記
- [jvm-sandbox-repeater 學習筆記][原理說明篇] 1 錄製流程JVM筆記
- [jvm-sandbox-repeater 學習筆記][原理說明篇] 2 回放流程JVM筆記
- vscode中資料夾層級關係總是在一個資料夾顯示VSCode
- 流量錄製回放工具jvm-sandbox-repeater入門篇——錄製和回放JVM
- jvm-sandbox-repeater 錄製存在自定義型別 java 方法時報錯 ClassNotFoundJVM型別Java
- 在MySQL中管理分層資料---鄰接表模型和巢狀集模型MySql模型巢狀
- 通用流量錄製回放工具 jvm-sandbox-repeater 嚐鮮 (四)——新版帶介面 console 的使用JVM
- js中其他資料型別的值轉為字串的相關總結JS資料型別字串
- WPF/C#:如何顯示具有層級關係的資料C#
- Blockman:突出顯示ifelse等巢狀程式碼塊的Vscode外掛BloC巢狀VSCode
- SAP HUM事務程式碼HUMO裡顯示內層和外層HU資訊
- SAP HUM對巢狀HU做WM貨物移動時TO單上只顯示外層HU巢狀
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- lsusb命令-在系統中顯示有關USB裝置資訊
- iOS開發·runtime+KVC實現多層字典模型轉換(多層資料:模型巢狀模型,模型巢狀陣列,陣列巢狀模型)iOS模型巢狀陣列
- el-table 多表格彈窗巢狀資料顯示異常錯亂問題巢狀
- Vue中的巢狀路由Vue巢狀路由
- Neofetch:在終端中顯示 Linux 系統資訊Linux
- SpringBoot資料來源相關配置Spring Boot
- SQL Server中的SELECT會阻塞SELECT相關資料SQLServer
- 解讀數倉中的資料物件及相關關係物件
- JavaScript中if巢狀assert的方法JavaScript巢狀
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- 修改環境變數顯示當前登陸使用者的相關資訊變數
- 在Linux中,如何實時抓取並顯示當前系統中tcp 80 埠的網路資料資訊?LinuxTCP
- 在檔案中夾雜其他資訊
- ASP.NET Web Pages基礎知識---從文字檔案中讀取並顯示資料ASP.NETWeb
- Android中Fragment巢狀Fragment,切換Fragment時不顯示檢視的原因及解決方法AndroidFragment巢狀
- 解決chrome,下載在資料夾中顯示,呼叫錯誤的關聯程式Chrome