Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

Gridview in tab does not update after delete, even when calling gv.update and up.update

$
0
0

I have a problem with a gridview that sits on a tabbed panel, which contains an update panel. The grid displays items a client has purchased in the past, it links to the clientID label on the form, but the primary key is the linenumber.

I use the builtin update and everything work well, I was using the built in Delete (i.e. I write no code but it gets called) but wanted to add a confirmation of delete and that stopped working, so I used rowcommand to do the delete, it deletes the data fine, but when I rebind the grid and update the panel it does not show on the screen, if I force a refresh of the page the gridview then shows the correct date.

Here is the HTML portion of the code:

<ajaxToolkit:TabContainer ID="tabcCustomer" runat="server" ActiveTabIndex="1" AutoPostBack="true" ><ajaxToolkit:TabPanel runat="server" HeaderText="Next Required" ID="tabpnlNextRequired"><HeaderTemplate>Next Items Required</HeaderTemplate><ContentTemplate><asp:UpdatePanel ID="upnlNextItems" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true" ><ContentTemplate><div style="padding:4px">
             //... code in the first tab</div></ContentTemplate><Triggers><asp:AsyncPostBackTrigger ControlID="btnForceNext"  EventName="Click" /></Triggers></asp:UpdatePanel></ContentTemplate></ajaxToolkit:TabPanel><ajaxToolkit:TabPanel runat="server" HeaderText="Items" ID="tabpnlItems"><HeaderTemplate>Customer Usage</HeaderTemplate><ContentTemplate><asp:UpdateProgress ID="updtprgItems" runat="server" AssociatedUpdatePanelID="upnlItems"><ProgressTemplate><img src="../images/animi/BlueArrowsUpdate.gif" alt="updating" width="16" height="16" />please wait.....</ProgressTemplate></asp:UpdateProgress><asp:UpdatePanel ID="upnlItems" runat="server" UpdateMode="Conditional" ><ContentTemplate><div class="simpleForm" style="padding: 4px"><div class="simpleLightGreenForm"><asp:GridView ID="gvItems" runat="server" AllowSorting="True" CssClass="TblWhite small" EmptyDataText="no data yet" 
                  AutoGenerateColumns="False" DataSourceID="odsItemUsage" AllowPaging="True" PagerSettings-Mode="NextPreviousFirstLast"
                  DataKeyNames="ClientUsageLineNo" OnRowCommand="gvItems_RowCommand" DataKey="ClientUsageLineNo"
                  PageSize="15" PagerSettings-FirstPageImageUrl="~/images/imgButtons/FirstPage.gif" 
                  PagerSettings-LastPageImageUrl="~/images/imgButtons/LastPage.gif" 
                  PagerSettings-NextPageImageUrl="~/images/imgButtons/NextPage.gif" PagerSettings-PreviousPageImageUrl="~/images/imgButtons/LastPage.gif" ><Columns><asp:TemplateField ShowHeader="False"><EditItemTemplate><asp:ImageButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" 
                                  AlternateText="Update" ImageUrl="~/images/imgButtons/UpdateItem.gif" />&nbsp;<asp:ImageButton ID="CancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                                  AlternateText="Cancel" ImageUrl="~/images/imgButtons/CancelItem.gif" /></EditItemTemplate><ItemTemplate><asp:ImageButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" 
                                AlternateText="Edit" ImageUrl="~/images/imgButtons/EditItem.gif" />&nbsp;<asp:ImageButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete"
                                AlternateText="Delete"  ImageUrl="~/images/imgButtons/DelItem.gif"
                                OnClientClick="return confirm('Are you sure you want to delete this item?');"
                                CommandArgument='<%# Eval("ClientUsageLineNo") %>' /></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="Date" SortExpression="Date"><EditItemTemplate><asp:TextBox ID="tbxDate" runat="server" Text='<%# Bind("ItemDate", "{0:d}") %>'  /></EditItemTemplate><ItemTemplate><asp:Label ID="lblData" runat="server" Text='<%# Bind("ItemDate", "{0:d}") %>' /></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="Item" ><EditItemTemplate><asp:DropDownList ID="ddlItems" runat="server" DataSourceID="odsItems" 
                          DataTextField="ItemDesc" DataValueField="ItemTypeID" AppendDataBoundItems="true"
                          SelectedValue='<%# Bind("ItemProvidedID") %>'><asp:ListItem Value="0" Text="n/a" /></asp:DropDownList></EditItemTemplate><ItemTemplate><asp:Label ID="ItemDescLabel" runat="server" Text='<%# GetItemDesc((int)Eval("ItemProvidedID")) %>' /></ItemTemplate></asp:TemplateField><asp:BoundField DataField="AmountProvided" HeaderText="Qty"
                      SortExpression="AmountProvided" /><asp:TemplateField HeaderText="Packaging" SortExpression="PackagingID"><EditItemTemplate><asp:DropDownList ID="ddlPackaging" runat="server" DataSourceID="odsPackagingTypes"
                          DataTextField="Description" DataValueField="PackagingID" AppendDataBoundItems="true"
                          SelectedValue = '<%# Bind("PackagingID") %>' ><asp:ListItem Value="0" Text="n/a" /></asp:DropDownList></EditItemTemplate><ItemTemplate><asp:Label ID="PackagingIDLabel" runat="server" Text='<%# GetPackagingDesc((int)Eval("PackagingID")) %>'></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="Prep Type" SortExpression="PrepTypeID"><EditItemTemplate><asp:TextBox ID="PrepTypeIDTextBox" runat="server" Text='<%# Bind("PrepTypeID") %>'></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="PrepTypeIDLabel" runat="server" Text='<%# Bind("PrepTypeID") %>'></asp:Label></ItemTemplate></asp:TemplateField><asp:BoundField DataField="Notes" HeaderText="Notes" 
                      SortExpression="Notes" /><asp:BoundField DataField="CustomerID" Visible="False" /><asp:BoundField DataField="ClientUsageLineNo" Visible="False" /></Columns><PagerSettings FirstPageImageUrl="~/images/imgButtons/FirstPage.gif" LastPageImageUrl="~/images/imgButtons/LastPage.gif" Mode="NumericFirstLast" NextPageImageUrl="~/images/imgButtons/NextPage.gif" PreviousPageImageUrl="~/images/imgButtons/LastPage.gif" /></asp:GridView></div></div></ContentTemplate><Triggers><asp:AsyncPostBackTrigger ControlID="gvItems" EventName="RowCommand" /></Triggers></asp:UpdatePanel></ContentTemplate></ajaxToolkit:TabPanel></ajaxToolkit:TabContainer><asp:ObjectDataSource ID="odsItemUsage" runat="server" TypeName="TrackerDotNet.control.ItemUsageTbl"
      SortParameterName="SortBy"
      SelectMethod="GetAllItemsUsed"
      OldValuesParameterFormatString="original_{0}" UpdateMethod="UpdateItemsUsed"  DeleteMethod="DeleteItemLine" ><DeleteParameters><asp:Parameter Name="ClientUsageLineNo" Type="Int64" /></DeleteParameters><SelectParameters><asp:ControlParameter ControlID="CompanyIDLabel" DefaultValue="0" 
          Name="pCustomerID" PropertyName="Text" Type="Int64" /><asp:Parameter DefaultValue="&quot;Date&quot;" Name="SortBy" Type="String"  /></SelectParameters><UpdateParameters><asp:Parameter Name="CustomerID" Type="Int64" /><asp:Parameter Name="ItemDate" Type="DateTime" /><asp:Parameter Name="ItemProvidedID" Type="Int32" /><asp:Parameter Name="AmountProvided" Type="Double" /><asp:Parameter Name="PrepTypeID" Type="Int32" /><asp:Parameter Name="PackagingID" Type="Int32" /><asp:Parameter Name="Notes" Type="String" /><asp:Parameter Name="original_ClientUsageLineNo" Type="Int64" /></UpdateParameters></asp:ObjectDataSource>

The the code behind for the rowcommand, it calls the objectdatasource directly using the keyfield and deletes the row then updates the grid and the updatepanel - but nothing happens, except the udpdateprogress shows for a while, showing the update event is triggered:

    protected void gvItems_RowCommand(object sender, GridViewCommandEventArgs e)
    {
      if (e.CommandName == "Delete")
      {
        ItemUsageTbl _ItemUsage = new ItemUsageTbl();
        _ItemUsage.ClientUsageLineNo = Convert.ToInt64(e.CommandArgument);
        _ItemUsage.DeleteItemLine(_ItemUsage.ClientUsageLineNo);

        gvItems.DataBind();
        upnlItems.Update();
      }
    }


Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>