2017-04-12 1 views
0

Ich habe eine Liste anzeigen Raster mit Löschen sagen, ich habe eine Seitenumbruch Links auf der Seite (vorherige 1 2 nächste). Wenn ich versuche, den letzten Datensatz auf der zweiten Seite zu löschen, wird die Listenansicht nicht angezeigt. Ich habe eine Bindung auf der Serverseite durchgeführt und rufe auf, wenn ein Datensatz gelöscht wird. Wenn die zweite Seite mehr als zwei Datensätze enthält, wird das Raster angezeigt. Hat jemand eine Idee, warum dieses Problem kommt? Aber wenn ich Seite neu lade, erscheint das Raster.Listenansicht nicht angezeigt, wenn der letzte Datensatz löscht mit asp.net

Ich habe ein Listview-Raster als

<asp:ListView ID="lvSurvey" runat="server" GroupPlaceholderID="groupPlaceHolder2" 
ItemPlaceholderID="itemPlaceHolder2" OnPagePropertiesChanging="OnPagePropertiesChangingSurvey" OnItemCommand="lvSurvey_ItemCommand" > 

--- 
-- 
</asp:ListView> 

Ich habe auch Paginierung als

<asp:PlaceHolder runat="server" ID="groupPlaceHolder2"></asp:PlaceHolder> 
     <tr> 
      <td colspan = "3"> 
       <asp:DataPager ID="DataPager2" runat="server" PagedControlID="lvSurvey" PageSize="1"> 
        <Fields> 
         <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false" ShowPreviousPageButton="true" 
          ShowNextPageButton="false" /> 
         <asp:NumericPagerField ButtonType="Link" /> 
         <asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="false" ShowPreviousPageButton = "false" /> 
        </Fields> 
       </asp:DataPager> 
      </td> 
     </tr> 

ich in der Lage bin Datensatz von SQL Server angezeigt werden und auch Paginierung zeigt auf der Seite. Ich habe einen Löschknopf in Raster als

<asp:LinkButton ID="lnkDelete" runat="server" CssClass="btn btn-danger" OnClientClick="return getConfirmation(this, 'Please confirm','Are you sure you want to delete?');" CommandArgument='<%# Eval("Order_Survey_ID") + "|" + Eval("Status") %>' 
          CommandName="DeleteSurveyObject"><i class="glyphicon glyphicon-trash"></i>&nbsp;</asp:LinkButton>   <br /> 



      </td> 
     </tr> 


</ItemTemplate> 

    </asp:ListView> 

Ich bin auch in der Lage zu löschen und haben Server-Codierung für deletion.But gemacht, wenn nur ein Datensatz in der zweiten Verbindung, nicht in der Lage Listenansicht zum Zeitpunkt der Löschung zu zeigen.

protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e) 
    { 
     (lvOrderInstall.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false); 
     this.GetAllOrderInstall(); 
     TabName.Value = "installation"; 

    } 

    protected void lvSurvey_ItemCommand(object source, ListViewCommandEventArgs e) 
     { 
if(e.CommandName == "DeleteObject") 
      { 
       string[] param = e.CommandArgument.ToString().Split('|'); 
       hfInstallID.Value = param[0].ToString(); 

       DELETEINSTALL(int.Parse(hfInstallID.Value), clsCommon.gConstDTOMode_Delete, clsCommon.gConstActive_Status); 
       GetAllOrderInstall(); 

       TabName.Value = "installation"; 
       litMsg.Text = "Record deleted successfully"; 
      } 
     } 
+0

Bind Ihre Listview in Code-behind in 'if (! IsPostBack)' – Valkyrie

+0

Es ist nicht ich habe funktioniert das schon gegeben in Code – aniltc

+0

Can u siehe https://www.aspsnippets.com/Articles/ Display-Show-Daten-in-ListView-von-Datenbank-in-ASPNet-using-C-und-VBNet.aspx dieser Link –

Antwort

0

Try GetAllOrderInstall(); am Ende lvSurvey_ItemCommand Funktion Hinzufügen der Listenansicht nach updation erneut zu binden.

protected void lvSurvey_ItemCommand(object source, ListViewCommandEventArgs e) 
      { 
       if(e.CommandName == "DeleteObject") 
       { 
        string[] param = e.CommandArgument.ToString().Split('|'); 
        hfInstallID.Value = param[0].ToString(); 

        DELETEINSTALL(int.Parse(hfInstallID.Value), clsCommon.gConstDTOMode_Delete, clsCommon.gConstActive_Status); 
        GetAllOrderInstall(); 

        TabName.Value = "installation"; 
        litMsg.Text = "Record deleted successfully"; 
       } 

       GetAllOrderInstall(); 
      } 
+0

Es war wie früh, aber wenn ich etwas wie ging es innen.Vielen Dank für Ihre Hilfe – aniltc

+0

Willkommen, Kumpel. Es tut mir leid, dass ich nicht das bekommen habe, was Sie im Kommentar sagen wollten :). Das Problem, das ich denke, war, dass Sie nach dem Löschen eines Datensatzes die Listenansicht nicht aktualisiert haben. –

Verwandte Themen