Das GridView - 'GridView1' ausgelösten Ereignis RowDeleting die nicht behandelt , aber es ist ein Ereignis
ı wurden traying, um dynamische control-panel mit webusercontrol , delegieren,und ADO.
Auch ı schreiben der Delegaten für das löschen und Bearbeiten ı konfrontiert mit "Die GridView 'GridView1' ausgelösten Ereignis RowDeleting, die nicht behandelt werden." - problem . Kann jemand mir helfen pls
hier meine codes
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = this.DataSource;
GridView1.DataBind();
GridView1.DataKeyNames = new string[] { this.DataKeyNames };
}
public object DataSource { get; set; }
public string DataKeyNames { get; set; }
public event GridHander RowDeleting;
public event GridHander RowSawing;
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridViewRow gvr = ((LinkButton)e.CommandSource).Parent.Parent as GridViewRow;
int rowIndex = gvr.RowIndex;
object id = GridView1.DataKeys[rowIndex].Value;
switch (e.CommandName)
{
case "Edit":
GridView1.EditIndex = rowIndex;
break;
case "Delete":
if (RowDeleting != null)
{
GridEventArgs args = new GridEventArgs()
{
row=gvr,
id=id,
rowIndex=rowIndex
};
RowDeleting.Invoke(e.CommandSource, args);
}
break;
case"Save":
if (RowSawing != null)
{
GridEventArgs args = new GridEventArgs()
{
row = gvr,
id = id,
rowIndex = rowIndex
};
RowSawing.Invoke(e.CommandSource, args);
}
GridView1.EditIndex = -1;
break;
case "Cancel":
GridView1.EditIndex = -1;
break;
default:
break;
}
}
}
//Mein webform
ublic partial class CategoryControlPanel : System.Web.UI.Page
{
CategoryResposite _categoryResposite=new CategoryResposite();
protected void Page_Load(object sender, EventArgs e)
{
ControlPanel.DataSource = _categoryResposite.ListCategories();
ControlPanel.RowDeleting += ControlPanel_RowDeleting;
ControlPanel.RowSawing += ControlPanel_RowSawing;
}
void ControlPanel_RowSawing(object sender, GridEventArgs e)
{
throw new NotImplementedException();
}
void ControlPanel_RowDeleting(object sender, GridEventArgs e)
{
_categoryResposite.DeleteCategories(Convert.ToInt32(e.id));
}
- Wo in deinem code gibst du die event-handler für
GridView1.RowDeleting
? Ich sehe es nicht. Ich sehe, Sie der Einstellung einen handler fürControlPanel.RowDeleting
, ist das ControlPanel einen Verweis aufGridView1
? Wenn ja, sind Sie sicher, dass der Verweis korrekt ist?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code, den du gepostet hast, ist unvollständig (es fehlen die aspx-Datei-code), aus deine Beschreibung des Problems klingt es so, als wenn Sie nicht bewertet haben die RowDeleting-Ereignis GridView1.
Inneren der öffnung gridview-Tags in der aspx-Datei fügen Sie die Zuordnung wie folgt:
Ob der event-handler ControlPanel_RowDeleting ist entworfen, um ein löschen im gridview-Aktion, dann fügen Sie diese Ereignis-handler-name. Sicherzustellen, dass Sie re-binden Sie das gridview-Steuerelement nach dem löschen, damit die änderungen angezeigt werden postback.
Sie versuchen, mit einem Befehl, den Namen des Löschen für Ihre Schaltfläche "löschen". Also das gridview erstellt eine Zeile löschen-Ereignis automatisch auf....
Müssen Sie ändern Sie den Befehl argument von Löschen, um etwas anderes wie Delete_Product oder was auch immer Sie wollen...
Eines der guten Dinge über das GridView-Steuerelement ist, dass es bietet eine built-in-CommandField-Tasten, die es uns ermöglicht, bestimmte Aktionen wie das Bearbeiten, aktualisieren,löschen und auswählen von GridView-Daten.
Zusätzlichen Befehl genannten Felder in der GridView-können Sie Folgen Sie diesen wenigen Schritten:
1. Wechseln Sie zur Entwurfsansicht
2. Der rechten Maustaste auf das GridView-Steuerelement, und Wählen Sie --> Smarttag Anzeigen --> Hinzufügen von Neuen Spalten
3. Auf der Liste CommandField
4. Prüfen, Löschen und Bearbeiten/Aktualisieren der Optionen und dann OK
Wie Sie sehen können, Bearbeiten und Löschen CommandField werden automatisch Hinzugefügt, in der letzten Spalte der GridView. Jetzt können wir anfangen zu schreiben, unsere codes für die Bearbeitung und Aktualisierung der Daten in der GridView.
In-Ordnung durchzuführen, zu Bearbeiten und zu Aktualisieren in GridView müssen wir mit drei Veranstaltungen ( GridView_RowEditing, GridView_RowCancelingEdit , GridView_RowUpdating). Für diejenigen, die nicht wissen, wie zu generieren Ereignisse, die im GridView-Steuerelement können Sie die folgenden Schritte Folgen:
Versuchen Sie geschützt, um die Signaturen.