2017-07-05 86 views
0

我有一個Gridview,我有更新行的功能。在點擊更新行後,在用戶可以更新特定行記錄的行中生成一個文本框。但是,如果用戶選擇gridview(page = 1)的第2行進行更新,然後在不保存的情況下單擊第4頁。此外,如果用戶選擇gridview(page = 1)的第2行,然後點擊第4頁。現在顯示第4行,第2行突出顯示,所以對用戶來說,他們看起來像是選擇了第4頁的第2行,我需要讓selectedrow隨分頁一起移動而不會混淆用戶。 以下是我的Gridview定義:問題GridView中選定的行尋呼

<asp:GridView ID="grdDisountList" runat="server" PersistedSelection="false" CellPadding="4" ForeColor="#333333" GridLines="None" 
     AutoGenerateColumns="false" Width="100%" OnRowEditing="EditRow" OnRowCancelingEdit="CancelEditRow" 
     OnRowUpdating="UpdateRow" DataKeyNames="Discount_Id" AllowPaging="true" OnRowDataBound="grdDisountList_RowDataBound" 
     PageSize="15" OnPageIndexChanging="OnPageIndexChanging" OnRowCommand="SelectRow" OnSelectedIndexChanged="grdDisountList_SelectedIndexChanged"> 

任何想法?

回答

0

所選行僅對GridView中的可見項有效。因此,當您更改頁面時,所選項目仍然是第二個選定行,即使它是完全不同的項目。

最好的選擇是在OnPageIndexChanging事件中將所選行設置爲-1。

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.PageIndex = e.NewPageIndex; 
    GridView1.SelectedIndex = -1; 
    GridView1.EditIndex = -1; 
} 

O的,如果你真的想保持的SelectedIndex,它在一個會話或保存的ViewState與PageIndex的一起,並重新選擇基於這樣的價值觀正確的。

+0

謝謝..有幫助。 :) – Avinash