我正在使用C#,ASP.NETGridview編輯後排序ASP.NET
我有一個我已經提供了排序,編輯功能的GridView。我執行排序時無法執行編輯。排序後編輯設置在其他行。我認爲有一些問題,它走的是指數..
任何一個可以幫助我如何解決這個..
問候 sbmarya
我正在使用C#,ASP.NETGridview編輯後排序ASP.NET
我有一個我已經提供了排序,編輯功能的GridView。我執行排序時無法執行編輯。排序後編輯設置在其他行。我認爲有一些問題,它走的是指數..
任何一個可以幫助我如何解決這個..
問候 sbmarya
我認爲這個問題是,排序是通過與編輯不同的通話/數據通話。所以在RowEditing事件中,我得到了相對於排序順序(ASC()或DESC())的索引。但後來我使用getUsers()綁定,它以不同的順序返回數據。
我所做的是我在ViewState中存儲了一些標誌(值),以表明我在編輯事件中綁定時使用的排序順序,以便我可以調用正確的方法返回相同的數據源。
問候, sbmarya
我面對這個問題爲好。這是我如何修復它。 (在我的例子中,gridview在一個名爲submit date的列上排序)。
a。當gridview的底層dataTable被crated並排序時,它將它存儲在一個會話變量中。訣竅是,在存儲到會話變量之前,請確保存儲已排序的視圖。
dt.DefaultView.Sort = "Submit Date" + " " + "DESC";
GridView1.DataSource = dt;
GridView1.DataBind();
Session["gridViewData"] = dt.DefaultView.ToTable(); //Only storing dt will not have the sorted table stored in session.
b。接下來,使用上述步驟中存儲在session中的dataTable執行所有編輯/更新操作。它將始終以正確的排序順序出現,並且在更新後您不會看到行索引意外更改的問題。