2013-07-11 48 views
0

我有一個gridview,它簡單地顯示記錄基於從下拉列表過濾器,當我更改下拉列表頁面回發罰款和過濾器的作品,但是當我點擊編輯行的排序根據新的過濾器更改訂單。當我將下拉菜單更改回原始過濾器並單擊編輯時,排序順序保持不變。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> 
+0

檢查您是否在row_editing上調用綁定數據方法。 –

回答

0

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

Regards,

+0

nope。我重新綁定代碼隱藏中的數據,並且無論從下拉過濾器中選擇哪個選項,此過程都是相同的:private void BindGridViewData() { var results = iidal.GetUnauthorisedInvoices(ddlFilterDocs.SelectedValue); GridView1.DataSource = results; GridView1.DataBind(); } – DeadlyDan