[英]how to sort gridview based on drop down list selection
我需要基於下拉列表顯示gridview:LastestTransactionFirst,EarlierTransactionFirst。 所以基本上它是基於gridview中的日期的desc或asc。 我可以知道應該怎么做嗎?
這是我用於gridview選擇的代碼。 但是我有一個下拉列表,需要基於該下拉列表的選擇顯示gridview。
myConnection.ConnectionString = strConnectionString;
SqlCommand cmd = new SqlCommand("SELECT thDate, thType, thAmountIn, thAmountOut from [Transaction] ORDER BY thDate, thType, thAmountIn, thAmountOut DESC", myConnection);
myConnection.Open();
SqlDataReader reader1 = cmd.ExecuteReader();
GridView1.DataSource = reader1;
GridView1.DataBind();
1)您可以在查詢中使用動態訂單依據 ,最好使用存儲過程
2)快速和骯臟的方式將通過您的下拉列表中的selectedValue選定索引更改事件並重新綁定您的gridview,還使下拉列表中的autopostback變為true。 就像是
protected void yourDropDown_SelectedIndexChanged(object sender, EventArgs e)
{
BindYourGridView(yourDropDown.SelectedValue);
}
BindYourGridView(string sortParam)
{
string orderBy=null;
switch sortParam
{
case 0:
orderBy= "ORDER BY thDate, thType, thAmountIn, thAmountOut DESC"
break;
case 1:
orderBy= "ORDER BY thDate, thType, thAmountIn, thAmountOut"
break;
}
string yourQuery= "Select columns from table "+ orderBy;
// Your data access code
// Bind your gridview
}
//ASPX
<asp:DropDownList ID="yourDropDownList" runat="server" AutoPostBack="True">
<asp:ListItem Text="Recent First" Value="0" />
<asp:ListItem Text="Earlier First" Value="1" />
</asp:DropDownList>
這是在gridview中排序的一個示例
DataView dvItems = new DataView((DataTable)ds.Tables["datatable1"]);
if (ddl_itemsorderby.SelectedValue == "MenuGroup")
dvItems.Sort = "Menu_Group, Item_Name ASC";
else if (ddl_itemsorderby.SelectedValue == "Item")
dvItems.Sort = "Item_Name, Menu_Group ASC";
else if (ddl_itemsorderby.SelectedValue == "Rate")
dvItems.Sort = "Item_rate, Item_Name ASC";
else if (ddl_itemsorderby.SelectedValue == "Quantity")
dvItems.Sort = "Item_Quantity, Item_Name ASC";
gridview1.DataSource = dvItems;
gridview1.DataBind();
這里的Menu_Group,Item_name ...是綁定到gridview的數據表中的列名。
“ Menu_Group,Item_Name ASC”這意味着將對Menu_Group賦予第一順序優先級,對Item_Name賦予第二順序優先級。 ASC是訂單類型將升序
ddl_itemsorderby是將從中選擇列順序的下拉列表。
dvitems是dataview。
ASC是升序。
您必須創建一個包含數據表中數據的數據視圖,然后對數據視圖中的值進行排序,然后將數據視圖綁定到網格視圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.