gpt4 book ai didi

c# - 获取 GridView 的列标题的 css

转载 作者:行者123 更新时间:2023-11-28 04:47:30 36 4
gpt4 key购买 nike

我在 GridView 中使用自定义排序,它通过单击标题文本按该列排序来工作。现在我想在标题文本旁边添加一个小箭头以指示排序方向。我正在用 css 样式来做这件事并且它有效。问题是这样做,之前设置的css样式(在aspx文件中)就没有了。

要反驳这一点,人们会认为这只是获取当前 css 样式字符串并附加新样式的问题。说起来容易做起来难。

我试过:

gvDocs.HeaderStyle.CssClass;   // returns an empty string
gvDocs.HeaderRow.CssClass; // returns an empty string
gvDocs.HeaderRow.Cells[i].CssClass; // returns an empty string
gvDocs.HeaderRow.Cells[i].Attributes["class"]; // returns null
LinkButton lb = gvDocs.HeaderRow.Cells[i].Controls[0] as LinkButton;
lb.CssClass; // returns an empty string
lb.Attributes["class"]; // returns null

我试着把代码放在几乎所有地方,但结果总是一样。

接下来是 aspx 文件的片段

<asp:GridView ID="gvDocs" runat="server" CssClass="table" ...
<Columns>
<asp:BoundField DataField="doc_number" HeaderText="#" ReadOnly="True" SortExpression="doc_number" ShowHeader="True">
<HeaderStyle CssClass="vert-align" />
<ItemStyle CssClass="vert-align" />
</asp:BoundField>
...

不是每个标题都有相同的 css 样式所以我真的需要知道当前的样式是什么并附加一个以显示箭头。

我正在像这样更新 gcDocs_Sorting 事件中的 css 样式:

 gvDocs.HeaderRow.Cells[GetColumnIndex(Session[GV_ORDERS_SORT_FIELD].ToString(), gvDocs)].CssClass += " sortDesc";
// or "sortAsc", depends on the result of a previous `if`.

那么如何获取列标题的当前 css 呢?

最佳答案

你可以让GridView自动添加css类来进行排序

您可以在代码中执行此操作:

gvDocs.SortedAscendingHeaderStyle.CssClass = "sorted-asc";
gvDocs.SortedAscendingCellStyle.CssClass = "sorted-asc";
gvDocs.SortedDescendingHeaderStyle.CssClass = "sorted-desc";
gvDocs.SortedDescendingCellStyle.CssClass = "sorted-desc";

或者直接在 GridView 的标记上:

<asp:GridView ID="gvDocs" runat="server" 
SortedAscendingHeaderStyle-CssClass="sorted-asc"
SortedAscendingCellStyle-CssClass="sorted-asc"
SortedDescendingHeaderStyle-CssClass="sorted-desc"
SortedDescendingCellStyle-CssClass="sorted-desc">
</asp:GridView>

关于c# - 获取 GridView 的列标题的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40870887/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com