我沒有在GridView的排序列與線程可用的幫助here
我的項目編碼如下,
<asp:GridView ID="GvSalesItems" runat="server" AutoGenerateColumns="false" DataKeyNames="sno" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="10" AllowPaging="True" AllowSorting="True" onsorting="GridView1_Sorting" EnableViewState="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkSelect" runat="server" Text="Select" CommandName = "Select" OnClientClick = "return GetSelectedRow(this)" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="sno" HeaderText="Sno" SortExpression="sno" />
<asp:BoundField DataField="itemcode" HeaderText="Item Code" SortExpression="itemcode" />
<asp:BoundField DataField="itemname" HeaderText="Item Name" SortExpression="itemname" />
<asp:BoundField DataField="unit" HeaderText="Unit" SortExpression="unit" />
<asp:BoundField DataField="price" HeaderText="Price" SortExpression="price" />
<asp:BoundField DataField="default_qty" HeaderText="Qty" ItemStyle-CssClass="hiddencol" HeaderStyle-CssClass="hiddencol" />
<asp:BoundField DataField="price" HeaderText="Amount" ItemStyle-CssClass="hiddencol" HeaderStyle-CssClass="hiddencol" />
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
代碼背後是,
個
public void GetSalesItems() //Binding GridView
{
DataSet ds1 = new DataSet();
D.id = 2;//SELECT * from DBTABLE
ds1 = C.DATA1(D);
GvSalesItems.DataSource = ds1.Tables[0];
GvSalesItems.DataBind();
}
值編碼爲排序使用ASP.net的buildin排序功能GridView中,
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataSet ds = new DataSet();
B.id = 2;
ds = A.DATA(B);
GvUser.DataSource = ds.Tables[0];
GvUser.DataBind();
if (ds.Tables[0] != null)
{
DataView dataView = new DataView(ds.Tables[0]);
dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
GvUser.DataSource = dataView;
GvUser.DataBind();
}
}
private string GridViewSortDirection
{
get { return ViewState["SortDirection"] as string ?? "DESC"; }
set { ViewState["SortDirection"] = value; }
}
private string ConvertSortDirectionToSql(SortDirection sortDirection)
{
switch (GridViewSortDirection)
{
case "ASC":
GridViewSortDirection = "DESC";
break;
case "DESC":
GridViewSortDirection = "ASC";
break;
}
return GridViewSortDirection;
}
它的工作原理perfectly.I希望這將是,如果有人need.Thank你
來源
2016-12-16 08:51:13
Ram
這是否幫助你有幫助? http://stackoverflow.com/a/10498012/1166719 –
只是在gridview上啓用排序 – fnostro
我已經做了alloworting = true;但它顯示錯誤消息 – Ram