在Repeater ASP.NET控件中以所需样式动态显示列名和列值

时间:2015-01-10 12:04:25

标签: c# asp.net asprepeater

我只需要在转发器或任何其他控件中显示数据:

<asp:Repeater ID="MyRepeater" runat="server" DataSourceID="MyDT">
    <ItemTemplate>
        <asp:Label Text="NAME OF FIRST COLUMN" runat="server" ID="NameLabel" />
        <br />
        <asp:Label Text="VALUE OF FIRST COLUMN" runat="server" ID="ValueLabel" />
        <hr />
    </ItemTemplate>
</asp:Repeater>

然后如果我在代码中更改了DataSourceID,则转发器会以相同的格式动态显示新数据。 为什么我需要这样做? 因为我的数据库中有很多表格,我不想为每个表格设计一个转发器。

非常感谢你。

1 个答案:

答案 0 :(得分:1)

您可以在Repeater的OnItemCreated事件中获取列名。

e.g。

DataRowView rowview = (DataRowView)e.Item.DataItem;
DataRow row = rowview.Row;
foreach (DataColumn col in row.Table.Columns)
   {
      nameOfColumn = col.ColumnName;
      // then add that to the relevant control in the row
   }

如果列数根据表格而变化 - 那么您需要查看使用嵌套转发器和一些代码来控制它们。