2016-05-26 3 views
0

Bestätigungsmeldung anzuzeigen Ich habe <telerik:RadGrid/> innerhalb dieses Gitters habe ich die folgende Spalte enthält SchaltflächeTelerik RadGrid wie

<telerik:GridTemplateColumn > 
        <ItemTemplate> 
         <asp:Button ID="btnDelete" runat="server" Text="Delete" 

CommandArgument='<%#Container.ItemIndex%>' OnCommand="btnDelete_Command">

protected void btnDelete_Command(object sender, CommandEventArgs e) 
    { 
     Telerik.Web.UI.GridDataItem item = gvAllDocuments.Items[int.Parse(e.CommandArgument.ToString())]; 
     string FileName = item["documentFileName"].Text;  
    } 

, wie ich Bestätigungsmeldung vor Funktion hinzufügen können btnDelete_Command Ausführung ..

Antwort

1

Verwenden Sie nicht ItemIndex. Es ist nur ein Zeilenindex des Gitters. Stattdessen möchten Sie eine eindeutige ID in DataKeyNames festlegen.

Idealerweise möchten Sie nicht Ihre eigene Schaltfläche zum Löschen implementieren, da Telerik bereits über die Schaltfläche zum Löschen verfügt, die automatisch OnDeleteCommand aufruft.

Es ist eine bevorzugte Methode, dies für RadGrid zu tun.

<telerik:RadGrid ... OnDeleteCommand="RadGrid_DeleteCommand"> 
    <MasterTableView DataKeyNames="xxxId" ...> 
     <Columns> 
     <telerik:GridButtonColumn 
      ButtonType="ImageButton" 
      ConfirmText="Are you sure you want to delete?" 
      CommandName="Delete" 
      ImageUrl="~/Images/Delete.png" 
      Text="Click to delete" UniqueName="Delete"> 
     </telerik:GridButtonColumn> 
     </Columns> 
     ... 
    </MasterTableView> 
</telerik:RadGrid> 

protected void RadGrid_DeleteCommand(object source, GridCommandEventArgs e) 
{ 
    int id = Convert.ToInt32(
     e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["xxxId"]); 

    // Delete logic here. 
} 
+0

, wie ich DataKeyValues ​​für id einstellen –

+0

Sie können einstellen, es ' '. Bitte stellen Sie sicher, dass es ** einzigartig ** in Ihrer Datenbanktabelle ist. Sie können mehr [hier] lesen (http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/defining-structure/radgrid-and-mastertableview-difference) – Win

+0

Ich benutze Telerik.Web.UI.GridDataItem item = (GridDataItem) e.Item; int DocumentId = int.Parse (Element ["id"]. Text); –