簡體   English   中英

編輯行時gridview排序順序更改

[英]gridview sort order changes when editing row

我有一個gridview,它僅顯示基於下拉列表中的過濾器的記錄,當我更改下拉列表時,頁面回發正常並且過濾器工作,但是當我單擊以編輯行時,排序順序將基於新過濾器而改變。 當我將下拉列表更改回原始過濾器並單擊“編輯”時,排序順序保持不變。

有任何想法嗎?

<asp:DropDownList ID="ddlFilterDocs" runat="server" 
                     AutoPostBack="True" 
                     onselectedindexchanged="ddlFilterDocs_SelectedIndexChanged">
                                      <asp:ListItem Text="MissingData" 
Value="MissingData" >MissingData</asp:ListItem>
                                       <asp:ListItem Text="AllData" Value="AllData" 
>AllData</asp:ListItem>
           </asp:DropDownList>



<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                 AllowSorting="True" PageSize="35" 
                 AutoGenerateColumns="False" CellPadding="4" 
                 ForeColor="#333333" GridLines="None" 
                 onrowcommand="GridView1_RowCommand" DataKeyNames="customerCode" 
                 onpageindexchanging="GridView1_PageIndexChanging" 
                 onsorting="GridView1_Sorting">
                 <AlternatingRowStyle BackColor="White" />
                 <Columns>
                       <asp:TemplateField SortExpression="CustomerCode">
                         <ItemTemplate>
                            <asp:LinkButton ID="lbEdit" ForeColor="DarkGreen" Font-   
Bold="True" CommandArgument='<%# Eval("customerCode") %>' CommandName="EditRow" 
runat="server">Edit</asp:LinkButton>
                           </ItemTemplate>
                         <EditItemTemplate>
                                     <asp:LinkButton ID="lbUpdate" CommandArgument='<%# 
Eval("customerCode") %>' CommandName="UpdateRow" runat="server"  
ForeColor="White">Update</asp:LinkButton>
                             <asp:LinkButton ID="lblCancel" CommandArgument='<%# 
Eval("customerCode") %>' CommandName="CancelUpdate" runat="server"  
ForeColor="White">Cancel</asp:LinkButton>
                          </EditItemTemplate>
                           <HeaderStyle Width="100px" />
                     </asp:TemplateField>

                     <asp:TemplateField  HeaderText="Customer ID" 
SortExpression="CustomerCode">
                         <EditItemTemplate>
                             <asp:Label ID="lblCustCodeEdit" runat="server" Text='<%# 
Eval("CustomerCode") %>'></asp:Label>
                         </EditItemTemplate>
                         <ItemTemplate>
                             <asp:Label ID="lblCustCode" runat="server" Text='<%# 
Bind("CustomerCode") %>'></asp:Label>
                         </ItemTemplate>
                     </asp:TemplateField>
                     <asp:BoundField  DataField="Name" HeaderText="Name" 
SortExpression="Name" 
                           ReadOnly="True" >
                       <HeaderStyle Width="100px" />
                       </asp:BoundField>
                     <asp:TemplateField HeaderText="StreetAddress" 
SortExpression="StreetAddress">
                         <EditItemTemplate>
                             <asp:TextBox ID="tbxStreetAddress" runat="server" 
Text='<%# Bind("StreetAddress") %>'></asp:TextBox>
                         </EditItemTemplate>
                         <ItemTemplate>
                             <asp:Label ID="lblStreetAddress" runat="server" Text='<%# 
Bind("StreetAddress") %>'></asp:Label>
                         </ItemTemplate>
                         <HeaderStyle Width="150px" />
                     </asp:TemplateField>
                     <asp:TemplateField HeaderText="City" SortExpression="City">
                         <EditItemTemplate>
                             <asp:TextBox ID="tbxCity" runat="server" Text='<%# 
Bind("City") %>'></asp:TextBox>
                         </EditItemTemplate>
                         <ItemTemplate>
                             <asp:Label ID="lblCity" runat="server" Text='<%# 
Bind("City") %>'></asp:Label>
                         </ItemTemplate>
                         <HeaderStyle Width="100px" />
                     </asp:TemplateField>
                     <asp:TemplateField HeaderText="Zip" SortExpression="Zip">
                         <EditItemTemplate>
                             <asp:TextBox ID="tbxZip" runat="server" Text='<%# 
Bind("Zip") %>'></asp:TextBox>
                         </EditItemTemplate>
                         <ItemTemplate>
                             <asp:Label ID="lblZip" runat="server" Text='<%# 
Bind("Zip") %>'></asp:Label>
                         </ItemTemplate>
                         <HeaderStyle Width="50px" />
                     </asp:TemplateField>
                     <asp:BoundField DataField="DocNumber" HeaderText="DocNumber" 
                         SortExpression="DocNumber" ReadOnly="True">
                       <HeaderStyle Width="50px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="GrossAmount" HeaderText="Gross" 
                         SortExpression="GrossAmount"  ReadOnly="True" 
DataFormatString="{0:c2}"  >
                       <HeaderStyle Width="70px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="NetAmount" HeaderText="Net" 
                         SortExpression="NetAmount"  ReadOnly="True" DataFormatString="
{0:c2}" >
                       <HeaderStyle Width="70px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="VATAmount" HeaderText="VAT" 
                         SortExpression="VATAmount"  ReadOnly="True" DataFormatString="
{0:c2}" >
                       <HeaderStyle Width="70px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="FromVoucNbr" HeaderText="Voucher" 
                         SortExpression="FromVoucNbr"  ReadOnly="True" >
                       <HeaderStyle Width="70px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="LastModDate" HeaderText="Date" 
                         SortExpression="LastModDate"  ReadOnly="True" 
DataFormatString="{0:G}" >
                       <HeaderStyle Width="70px" />
                       </asp:BoundField>
                     <asp:BoundField DataField="LastModUser" HeaderText="LastModUser" 
                         SortExpression="LastModUser"   ReadOnly="True">
                       <HeaderStyle Width="50px" />
                       </asp:BoundField>
                 </Columns>
                 <EditRowStyle BackColor="#7C6F57" />
                 <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                 <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                 <PagerStyle BackColor="#666666" ForeColor="White" 
HorizontalAlign="Center" />
                 <RowStyle BackColor="#E3EAEB" />
                 <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" 
ForeColor="#333333" />
                 <SortedAscendingCellStyle BackColor="#F8FAFA" />
                 <SortedAscendingHeaderStyle BackColor="#246B61" />
                 <SortedDescendingCellStyle BackColor="#D4DFE1" />
                 <SortedDescendingHeaderStyle BackColor="#15524A" />
             </asp:GridView>

如果要將數據重新綁定到Row_Editing事件中,則需要使用下拉選擇的值對其進行過濾。

問候,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM