![](/img/trans.png)
[英]How to edit values of GridView with AutoGenerateColumns=“true” in C# ASP.Net?
[英]Asp.net c# GridView Sort AutoGenerateColumns false
我無法使用參數AutoGenerateColumns = false
對我的gridview
進行排序 標題不可點擊,所以我無法排序,盡管有參數AllowSort = true
這是我的網格視圖:
<asp:Label ID="lbSortColumn" runat="server" Visible="False"></asp:Label>
<asp:GridView ID="gvDeslocFinal" runat="server" Height="181px" Width="1042px" OnRowDataBound="gvDeslocFinal_RowDataBound" AutoGenerateColumns="false" AllowSorting="true" OnSorting="gvDeslocFinal_Sorting" OnPageIndexChanging="gvDeslocFinal_PageIndexChanging" OnSorted="gvDeslocFinal_Sorted" AllowPaging="True">
<Columns>
...
</Columns>
<EditRowStyle HorizontalAlign="Center" />
<HeaderStyle VerticalAlign="Middle" HorizontalAlign="Center" Font-Bold="False" Height="30px" />
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle" Height="20px" />
</asp:GridView>
這是我的功能:
protected void gvDeslocFinal_Sorting(object sender, GridViewSortEventArgs e)
{
if (gvDeslocFinal.EditIndex >= 0)
return;
string[] values = lbSortColumn.Text.Split(' ');
if (values[0] == e.SortExpression)
{
if (values[1] != null && values[1] == "ASC")
lbSortColumn.Text = e.SortExpression + " DESC";
else
lbSortColumn.Text = e.SortExpression + " ASC";
}
else
{
lbSortColumn.Text = e.SortExpression + " ASC";
}
}
protected void gvDeslocFinal_Sorted(object sender, EventArgs e)
{
if (gvDeslocFinal.EditIndex >= 0)
return;
BindGrid();
}
在您粘貼的代碼片段中,您沒有顯示您的 Column 定義供我確認,但這可能是您的問題:
如果您設置AutoGenerateColumns=false
,那么您必須定義您的列,並且在這些列定義中您必須設置 SortExpression 屬性。 例如...
<Columns>
<asp:BoundField HeaderText="Name" DataField="itemName" SortExpression="itemName"/>
...
</Columns>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.