如何将AlternatingItemStyle应用于特定的DataGrid TemplateColumn?

sr28

我有一个包含3个TemplateColumns的数据网格,每个包含一个HeaderTemplate和一个ItemTemplate。我为所有3列都放入了HeaderStyle,ItemStyle和AlternatingItemStyle(因此在标记之外)。

然后,我决定我想专门对第三列应用不同的ItemStyle,这是通过在特定的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?

Bhavesh Kachhadiya

DataGrid的属性

<ItemStyle CssClass="TableItemStyle" />
     <AlternatingItemStyle CssClass="TableAlternatingItemStyle" />

适用于整个Datagrid行,而不适用于单个列。

要实现您的要求,请进行以下更改:

在aspx页面中,添加OnItemDataBound属性,如下所示:

 <asp:DataGrid ID="dgErrors"
CssClass="cssErrors"
Caption="Errors"  
AutoGenerateColumns="false"
CellPadding="3"
runat="server" 
OnItemDataBound = "dgErrors_ItemBound">

在您的.cs页面中添加以下代码:

protected void dgErrors_ItemBound(Object sender, DataGridItemEventArgs e)
    {
            if (e.Item.ItemType == ListItemType.Item)
            {
                e.Item.Cells[0].CssClass = "TableItemStyleRowNo";
            }
            else if(e.Item.ItemType == ListItemType.AlternatingItem)
            {
                e.Item.Cells[0].CssClass = "AlternateTableItemStyleRowNo";
            }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TemplateColumn和TemplateField有什么区别?

XamGrid 中 TemplateColumn 的 EditorTemplate 不起作用

CSS:如何将样式应用于特定类

如何将样式应用于特定孩子的父母

如何将特定样式应用于无效字段?

R:如何将rev()应用于特定行

如何将特定形状应用于div?

如何将样式边框应用于特定图像

如何将不同的样式应用于datagrid列

Microsoft Excel -> 如何将颜色应用于交替行,但不应用于特定列(通过公式)

如何将<clientCache />设置应用于IIS中的特定扩展名?

如何将安全规则应用于特定集合

pandas DataFrame,如何将功能应用于特定列?

如何将 css 应用于表单中的特定占位符

如何将特定列应用于R中的sapply函数?

如何将滤色器应用于StateListDrawable中的特定可绘制对象?

如何将字体仅应用于特定范围的Unicode字符

如何将CSS规则应用于其中包含特定关键字的类?

如何将环形中间件应用于特定的路由组?

如何将类应用于Buefy表中的特定单元格?

如何将权重应用于数据框中的特定列以汇总新的“得分”列?

如何将colMeans仅应用于R中的特定行?

如何将css应用于yii2中的gridview列的特定列

如何将特定格式应用于向量的每个元素

如何将CSS应用于不在特定标记内的文本?

如何将日期构造函数应用于 JSON 对象的特定属性

如何将验证应用于具有特定类的所有标签?

如何将新字体应用于以特定字体书写的字符?

如何将特定的CSS应用于Django登录表单