- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试使用如下所示的 asp.net Repeater 构建表结构:
column 1 | Column 2
Row1 cell1 cell2
---------------------------------------
TABLE 1 TABLE 2
----------------------------------
col1|Col2|Col3_ same column and rows are here as well
Row2 row1____|____|____
row2___ |____|_____
row3____|____|_____
但我在为第 2 行 添加表 1 和表 2 时遇到了困难。我不确定如何在 Repeater 内的单个单元格中添加表格,并且数据需要从 DataTable 绑定(bind)。
下面是我的 Repeater 代码:
<asp:Repeater ID="Repeaterp" runat="server">
<HeaderTemplate>
<table>
<tr><th>usedcount</th><th>notUsedCount</th></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:TextBox runat="server" ID="txtAvai" Text='<%#Eval("Count") %>' ReadOnly="true"></asp:TextBox></td>
<td><asp:TextBox runat="server" ID="txtConv" Text='' ReadOnly="true"></asp:TextBox></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater
任何人都可以就此提出任何想法,这将非常感谢我吗?
最佳答案
您可以嵌套不同的 asp.net 数据表示控件(例如 asp:Repeater
、asp:DataList
、asp:GridView
或 asp:Table
等)在 Repeater 控件中。我添加了一个快速示例,用于制作具有多个 Repeater 控件的嵌套结构:
<asp:Repeater ID="RepeaterTable" OnItemDataBound="RepeaterTable_ItemDataBound" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<asp:Panel ID="PanelTextBoxes" runat="server">
<tr>
<td>
<asp:TextBox ID="txtAvai" Text='<%# Eval("Count") %>' runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtConv" Text='' runat="server"></asp:TextBox>
</td>
</tr>
</asp:Panel>
<asp:Panel ID="PanelTables" runat="server">
<tr>
<td>
<asp:Repeater ID="RepeaterTable1" OnItemDataBound="RepeaterTable1_ItemDataBound" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>T1 Col 1</th>
<th>T1 Col 2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblCol1" runat="server" Text='<%# Eval("Col1") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCol2" runat="server" Text='<%# Eval("Col2") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
<td>
<asp:Repeater ID="RepeaterTable2" OnItemDataBound="RepeaterTable2_ItemDataBound" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>T2 Col 1</th>
<th>T2 Col 2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblCol1" runat="server" Text='<%# Eval("Col1") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCol2" runat="server" Text='<%# Eval("Col2") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</td>
</tr>
</asp:Panel>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
DataTable TempDT = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
getData();
}
}
// create DataTable 3 x 2
public void getData()
{
TempDT = new DataTable();
TempDT.Columns.Add("Col1");
TempDT.Columns.Add("Col2");
TempDT.Columns.Add("Count");
TempDT.Rows.Add("Temp", "Temp", 100);
TempDT.Rows.Add("Temp", "Temp", 100);
TempDT.Rows.Add("Temp", "Temp", 100);
// store DataTable into ViewState from lost on PostBack
ViewState["DT"] = TempDT;
RepeaterTable.DataSource = TempDT;
RepeaterTable.DataBind();
}
// Calls parent Repeater on Binding Data
protected void RepeaterTable_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// check Repeater item type is not in edit mode
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
DataTable dt = new DataTable();
// get and set DataTable from ViewState
dt = ViewState["DT"] as DataTable;
Repeater RepeaterTable1 = e.Item.FindControl("RepeaterTable1") as Repeater;
Repeater RepeaterTable2 = e.Item.FindControl("RepeaterTable2") as Repeater;
RepeaterTable1.DataSource = dt;
RepeaterTable1.DataBind(); // calls RepeaterTable1_ItemDataBound event
RepeaterTable2.DataSource = dt;
RepeaterTable2.DataBind(); // // calls RepeaterTable2_ItemDataBound event
Panel PanelTextBoxes = e.Item.FindControl("PanelTextBoxes") as Panel;
Panel PanelTables = e.Item.FindControl("PanelTables") as Panel;
// show only first structure
if (e.Item.ItemIndex != 0)
{
PanelTextBoxes.Visible = false;
PanelTables.Visible = false;
}
}
}
// Calls child Repeater on Binding Data
protected void RepeaterTable1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// check Repeater item type is not in edit mode
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
//.. here is code when child repeater is binding
}
}
// Calls child Repeater on Binding Data
protected void RepeaterTable2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// check Repeater item type is not in edit mode
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
//.. here is code when child repeater is binding
}
}
如果您不想重复整个结构,则只需在 RepeaterTable_ItemDataBound
事件中添加以下代码:
Panel PanelTextBoxes = e.Item.FindControl("PanelTextBoxes") as Panel;
Panel PanelTables = e.Item.FindControl("PanelTables") as Panel;
if (e.Item.ItemIndex != 0)
{
PanelTextBoxes.Visible = false;
PanelTables.Visible = false;
}
关于c# - 在中继器内的单个单元格中插入表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47713671/
嗨,我对 visualforce 中继器控件感到头疼:
我的页面类型为日期字段“日期”,但我似乎无法让中继器按日期显示项目。 我的计划是有一个包含日期、主题和作者的表,并使用 jquery 插件按日期排序。 最佳答案 编辑:如果您将 DocumentTyp
我在这里尝试做的是编写一个函数repeat,它接受一个字符串和一个正整数 n 并返回该字符串重复 n 次。因此 repeat("fho", 3) 将返回字符串“hohoho”。但是,下面的测试程序运行
是否可以始终显示 ASP.NET 转发器的页眉和页脚,无论它是否包含数据? 我很清楚这个问题以前曾被想要显示某种信息性消息的人问过,但在我的情况下,这一切都是为了为客户提供填充相同 Repeater
我需要为我正在从事的 enyo 项目制作一个数据表,该项目最终将显示 Ajax 调用的结果。 This (公然从 ryanjduffy here 窃取)似乎是一个很好的起点,但是当我尝试从按钮事件(而
我们目前使用转发器在每行上显示输入字段、下拉列表、复选框和日历项。所需的功能是允许用户添加最多 10 个(这可能会通过 Web 配置更改)项目(每行)。 在转发器中列出这些是否合适,或者我是否以错误的
我希望一个 asp.net 转发器控件在它指向的实际数据被更新时自行更新。我不是在寻找发生按钮单击并且每次中继器(位于更新面板内)都绑定(bind)到数据源的解决方案。 例如:在我的页面加载中,我有这
我正在尝试用中继器复制以下内容: 页眉是固定的,页脚也由从数据源返回的值固定。我所做的是将报头从中继器中取出。并添加了滚动条的代码 由于页脚需要修复,我不确定如何使该行不滚动。 所以我创建了第二个中
我有一个函数,可以将保存我想要显示的数据的DIV的值写入cooke,cookie代码有效,切换代码有效,但是当页面刷新时,我可以获得中继器列表元素,迭代它们,确定该部分是否应该隐藏,但我不能使用可见,
我正在使用 ASP.NET Repeater显示 的内容.它看起来像这样:
我有一个中继器,如下所示, 现在,我想将 LinkButton 的 Text 值与以下内容绑定(bind
Wicket 有很多 AbstractRepeaters 的实现:ListView、DataView、GridView、Loop、PropertyListView 等。 就我个人而言,我发现很难确定哪
如果写了如下代码: Repeater { model: 10; delegate: Rectangle { width: 200; height: 20; color: "whit
这是我的中继器: " /> 我喂中继器 来自数据库的 4 行数据,前三行 是必要的,但最后一个不应该存在。我该怎么做? 最佳答
有一个 routerLink 可以为 config 提供的导航提供必要的路由。 它工作正常,如果它像下面那样完成: Home About
我一直在努力创建自己的带有文本和链接输入字段的自定义 Gutenberg 中继器 block 。我只见过像 this 这样的 ES5 示例和 this .近 8 个小时以来,我一直致力于创建自己的这些
我有一个转发器,可以直接列出来自与我的 Outlook 绑定(bind)的应用程序的电子邮件。我需要中继器列出文件夹名称,然后列出该文件夹中的每条消息。然而,我得到的是该文件夹中每条消息的文件夹名称都
我有一个绑定(bind)服务器端的中继器控件。它重复一系列的 div,并且这样做没有问题。我有一些按钮用于对中继器进行排序(最新的、排名最高的、随机的),这按其应有的方式工作。 我想通过使用 Ajax
我们目前在现场有设备运行 UltraVNC 作为 VNC 服务器。因为我们的现场设备具有不可路由的 IP 地址,所以我们选择使用 UltraVNC 中继器服务器。 VNC 在设备上启动,我们在连接到中
.keyup 和 .change 仅在第一个输入中触发,但在我添加新项目后不会触发。添加新字段时有没有办法触发 .keyup 和 .change ? http://jsfiddle.net/q8pco
我是一名优秀的程序员,十分优秀!