【发布时间】:2014-01-10 15:24:19
【问题描述】:
我有一个包含 3 个模板列的数据网格,每个模板列包含一个 HeaderTemplate 和一个 ItemTemplate。我为所有 3 列添加了 HeaderStyle、ItemStyle 和 AlternatingItemStyle(所以在标签之外。
然后我决定将不同的 ItemStyle 专门应用于第 3 列,我通过在特定 TemplateColumn 中添加 ItemStyle 来做到这一点。这很好用,只是我仍然想要的 AlternatingItemStyle 不再适用。我想我可以简单地在特定的 TemplateColumn 中添加另一个 AlternatingItemStyle ,但这不受支持。我也尝试通过 OnDataBinding 命令将其添加到后面的代码中,但 AlternatingItemStyle 没有出现在 Column 属性下。代码如下:
<asp:DataGrid ID="dgErrors"
CssClass="cssErrors"
Caption="Errors"
AutoGenerateColumns="false"
CellPadding="3"
runat="server">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>Job Number</HeaderTemplate>
<ItemTemplate><%# Eval("Job Number") %></ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>Error</HeaderTemplate>
<ItemTemplate><%# Eval("Error") %></ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>Row Number</HeaderTemplate>
<ItemTemplate><%# Eval("Line Number") %></ItemTemplate>
<ItemStyle CssClass="TableItemStyleRowNo" />
</asp:TemplateColumn>
</Columns>
<HeaderStyle CssClass="TableHeaderStyle" />
<ItemStyle CssClass="TableItemStyle" />
<AlternatingItemStyle CssClass="TableAlternatingItemStyle" />
</asp:DataGrid>
我的问题是;首先,如何将 AlternatingItemSyle 应用于特定的 TemplateColumn?其次,为什么 TemplateColumn 中支持 ItemStyle 而 AlternatingItemStyle 不支持?
【问题讨论】:
标签: c# asp.net datagrid datagridtemplatecolumn