我需要应用样式并突出显示已排序的标题颜色。 排序是在rptMyTable_ItemCommand事件中处理的。我不能使用gridview,因为显示数据的布局不是常规表。 在javascript中我们有类似的东西 document.getElementById('lbCol1Header')。parentNode.style ='sortedColumnCSS' 如何在codebehind中做到这一点?
<table border="0" cellpadding="5" cellspacing="0" width="100%" class="myCSS">
<asp:Repeater ID="rptMyTable" runat="server" OnItemCommand="rptMyTable_ItemCommand">
<HeaderTemplate>
<tr style="font-weight: bolder">
<td>
<asp:LinkButton ID="lbCol1Header" Text="Col1" runat="server" CommandName="sortCol1" />
</td>
<td>
<asp:LinkButton ID="lbCol2Header" Text="Col2" runat="server" CommandName="sortCol2" />
</td>
<td>
<asp:LinkButton ID="lbCol3Header" Text="Col3" runat="server" CommandName="sortCol3" />
</td>
<td>
<asp:LinkButton ID="lbCol4Header" Text="Col4" runat="server" CommandName="sortCol4" />
</td>
<td>
<asp:LinkButton ID="lbCol5Header" Text="Col5" runat="server" CommandName="sortCol5" />
</td>
<td>
<asp:LinkButton ID="lbCol6Header" Text="Col6" runat="server" CommandName="sortCol6" />
</td>
<td>
</td>
<td>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
//Table Data......with nested tables and divs
.
.
.
.
.
</ItemTemplate>
</asp:Repeater>
<tr style="font-weight: bolder">
// doing paging operations here...
</tr>
</table>
答案 0 :(得分:1)
在设计页面中:
<tr class='<%# StyleSheet(DataBinder.Eval(Container.DataItem, "Y"))%>'>
for Linkbutton:
<asp:LinkButton ID="lbCol1Header" Text="Col1" runat="server" CommandName="sortCol1" CssClass='<%# StyleSheet(DataBinder.Eval(Container.DataItem, "Y"))%>' />
在代码页中:
public static string StyleSheet(object objText1)
{
string val = string.Empty;
if (objText1.ToString() == "Y")
{
val = "trbind";
}
return val;
}
这是在运行时根据数据在tr
标记中应用样式的方法之一。同样,您也可以尝试使用标签。
在样式表中编写样式trbind
。
答案 1 :(得分:0)
我猜你可以在rptMyTable_ItemCommand事件中使用.CssClass属性。
lbCol1Header.CssClass = "sortedColumnCSS";
如果你想应用css类,你应该提供ID并添加runat =“server”。
<td ID="tdCol1Header" runat="server">
<asp:LinkButton ID="lbCol1Header" Text="Col1" runat="server" CommandName="sortCol1" />
</td>
并从你的代码中添加css类。
tdCol1Header.Attributes("class") = "CssClass";