1
我有以下的在我的代碼兩個控件GridView的排序不火的第一次點擊
的GridView(數據顯示) 的SqlDataSource(我的GridView控件源)
我想改變gridview的,但是當我更改sqldatasource中的sqlcommandstring時,在我的datagrid表的新視圖中,排序不會觸發第一次單擊。請參閱下面的sqlcommandstring更改過程。
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (IsPostBack)
{ // Restore saved sqlcommand in page refresh, please see below
SqlDataSource1.SelectCommand = ViewState["MySQL"].ToString();
}
}
catch (Exception ex){}
}
protected void btn_SearchLibrary_Click(object sender, EventArgs e)
{
SqlDataSource1.SelectCommand = "SELECT * FROM Books WHERE id=1 OR id=2";
ViewState["MySQL"] = "SELECT * FROM Books WHERE id=1 OR id=2";
//Saves sqlcommand in viewstate, to restore it in page refresh.
}
我試圖理解,但無法讓你清楚,我在click事件處理程序中添加了數據綁定,但它沒有工作, – HOY 2012-03-05 18:19:34
我的答案可能是非基地,所以我想我需要澄清一下:你能通過我的典型用法嗎?是否如下所示:頁面首次加載時網格爲空;用戶點擊SearchLibrary按鈕,網格被填充;用戶點擊列標題對網格進行排序,但是第一次點擊不會處理;所有後續點擊都會處理並正確排序。這是否準確? – 2012-03-05 20:52:20
這是怎麼的過程:頁面首次加載網格有3個元素裏面,(因爲我的SqlDataSource1 - > Sqlcommandstring = SELECT * from books),也是排序正在工作okey,搜索點擊上面後btn_SearchLibrary_Click觸發並且網格現在有2個元素,現在排序不能很好地工作。 (PS:我使用視圖狀態保持命令字符串始終保持不變,因爲如果我不使用它,gridview會每次點擊某物時返回到3個元素的初始狀態) – HOY 2012-03-05 21:06:03