2012-06-04 46 views
0

我正在使用多頁面gridview來顯示一堆數據。這是gridview的代碼。當頁面下拉列表選擇索引更改時保存gridview的當前頁面

<asp:GridView ID="unverifiedlist" runat="server" AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true" OnRowDataBound="unverifiedlist_RowDataBound" style="font-size:12px" > 
         <Columns><asp:BoundField HeaderText="Surname" DataField="Surname" ReadOnly="true"/></Columns> 
         <Columns><asp:BoundField HeaderText="Firstname" DataField="Givenname" ReadOnly="true"/></Columns> 
         ...... 
         <Columns><asp:TemplateField HeaderText="Options" > 
            <ItemTemplate> 
             <asp:DropDownList ID="options" runat="server" AutoPostBack="true" OnSelectedIndexChanged="options_SelectedIndexChanged"> 
              <asp:ListItem></asp:ListItem> 
              <asp:ListItem Value="1">Verified</asp:ListItem> 
              <asp:ListItem Value="2">Rejected</asp:ListItem> 
             </asp:DropDownList> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField HeaderText ="Reason"> 
            <ItemTemplate> 
             <asp:TextBox ID="reason" runat="server" OnTextChanged ="reason_TextChanged"></asp:TextBox> 
            </ItemTemplate> 
           </asp:TemplateField> 
         </Columns> 
         <PagerSettings Visible="false"/>    
      </asp:GridView> 


<asp:DropDownList ID="PageSelect" AutoPostBack="true" runat="server" OnSelectedIndexChanged="PageSelect_SelectedIndexChanged"></asp:DropDownList> 

有一個叫它包含一個下拉列表「選項」欄,並在選定的索引改爲保存編輯後的行會回傳每次。我正試圖避免這種頻繁的回傳。所以我認爲如果我可以在用戶轉到下一頁之前保存整個頁面。 問題是,「PageSelect」下拉列表的回發將首先觸發頁面重新載入,然後onselectedindexchanged事件,此時,gridview已轉向下一頁。那麼任何人都可以給我一些建議嗎?

回答

0

我最後使用gridview本身的分頁導航控制,而不是我的dropdownlist。然後,我可以使用pageindexchanging事件將當前頁面保存到會話中,然後進入下一頁

0

您可以將網格視圖的EnableSortingAndPagingCallBacks屬性設置爲true,但如果您在gridview中使用模板字段,爲了維護頁面的狀態,這不會起作用,您將不得不保留當前頁面的值並在頁面加載,你可以檢查會話..

相關問題