ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
985
985
EMPFEHLEN
-
Hi leute,
ich habe folgendes Problem:
Ich habe eine DataGrid
In dieser DataGrid habe ich einen editieren -und ein löschen Button.
Diese werden in der Page_Load Prozedur erstellt.
(Ich weiß das das DataGrid eine vorgefertigte Lösung mitbringt; möchte ich jedoch aus verschiedenen Gründen nicht benutzen)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
'Bearbeiten Button Dim btnEdit As New Button For i = 0 To DGrid.Items.Count - 1 If i <> DGrid.Items.Count - 1 Then DGrid.Items(i).Cells(0).Controls.Add(New Button) btnEdit = CType(DGrid.Items(i).Cells(0).Controls(0), Button) btnEdit.Text = "Bearbeiten" btnEdit.ID = "btnEdit" AddHandler btnEdit.Click, AddressOf btnEdit_Click End If Next 'Löschen Button Dim btnDel As New Button For i = 0 To DGrid.Items.Count - 1 If i <> DGrid.Items.Count - 1 Then DGrid.Items(i).Cells(0).Controls.Add(New Button) btnDel = CType(DGrid.Items(i).Cells(0).Controls(1), Button) btnDel.Text = "Löschen" btnDel.ID = "btnDel" AddHandler btnDel.Click, AddressOf btnDel_Click Else DGrid.Items(i).Cells(0).Controls.Add(New Label) End If Next
Wie ihr vielleicht sehen könnt, weise ich dem Click Ereignis die Prozedur btn***_Click zu.
Klappt wunderbar. Wenn der Benutzer auf den Knopf drückt, springt der Debugger auch in diese Prozedur.
Jetzt kommt mein eigentliches Problem.
In dieser Click Prozedur(btnEdit_Click) lösche ich in der ersten Spalte der Auswahl alle Controls d.h. alle
Knöpfe und erstelle zwei neue Buttons: Speichern und Abbrechen.
Diesen Knöpfen weise ich auch ein zugehörige Prozedur zu (das gleiche wie in Page_Load).
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
'Controlls löschen DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls.Clear() 'Speichern DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls.Add(New Button) btnAccept = CType(DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls(0), Button) btnAccept.Text = "Speichern" AddHandler btnAccept.Click, AddressOf btnAccept_Click 'Abbrechen Dim btnAbort As New Button DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls.Add(New Button) btnAbort = CType(DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls(1), Button) btnAbort.Text = "Abbrechen" AddHandler btnAbort.Click, AddressOf btnAbort_Click
Er springt jetzt jedoch nicht mehr in diese Prozedur. Ich bin schon am verzweifeln und reiß mir die Haare raus
.
Bitte, wenn ihr eine Erklärung, Lösung oder Fragen dazu habt, schreibt
Gruß und vielen Dank im vorraus!
-
Hallo, wenn ich das richtig sehe (ich entwickle sonst nur in C#), dann liegt das Problem daran, dass der Button btnAccept zwar instanziiert wird, aber beim Neuerstellen
DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls.Add(New Button)
wird kein "bezug" auf die Instanz genommen. Wenn du statt "New Button" btnAccept in der obenstehenden Programmzeile verwenden würdest, dann müsste es klappen. Also folgendermassen:
DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls.Add( btnAccept )
In der Zeile
btnAccept = CType(DGrid.Items(sourceItem.ItemIndex).Cells(0).Controls(0), Button)
sagst du btnAccept, dass er ein Button sein soll, nicht dass er der Button an der Oberfläche ist.
Das gleiche gilt auch für den Button btnAbort.
Ähnliche Themen
-
Button reagiert nicht
Von Twos im Forum Flash PlattformAntworten: 2Letzter Beitrag: 08.09.09, 02:32 -
Flash 8, Button reagiert in MC bei rollOver nicht
Von astaluego im Forum Flash PlattformAntworten: 3Letzter Beitrag: 19.08.06, 12:09 -
Click-Ereignis bei Bildern
Von WilliamSpiderWeb im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 11.06.06, 12:48 -
UserControl reagiert nicht auf Click
Von Plumpsi im Forum .NET ArchivAntworten: 4Letzter Beitrag: 21.02.05, 17:56 -
Button-Click-Ereignis
Von Arndtinho im Forum .NET ArchivAntworten: 1Letzter Beitrag: 16.03.04, 22:06





Zitieren
Login





