Datagrid befüllen und eine Zeile auswählen zum editieren?

xxcrashxx2

Grünschnabel
Hi alle zusammen

ich habe folgendes Problem. Ich lese aus einer DB (ID, Vorname, Nachname ... )aus.

Das ganze bekomme ich nun auch in ein Datagrid hinein. Aber wie bekomme ich es hin das ich hinten noch einen Link reinbekomme um den jewiligen Datensatz zu editieren.

DataGrid myDataGrid = new DataGrid();
DataTable table = myDataGrid.createDG(title, lal_gridausgabe);
Object obj = table;
DataGrid2.DataSource = obj;
DataGrid2.DataBind();

title ist ein Array mit meinen Überschriften
und lal_gridausgabe ist eine Arraylist mit je einem Array pro Datensatz (ID, Vorname Nachname ...)

Ist das so erstmal richtig? oder totaler müll? Aber es klappt :)

Wie ändere ich das jetzt das ich z.b hinten noch ein Feld Editieren habe womit ich den jeweilen Daten Satz der Zeile ändern kann.

plz help
 
Hallo!

Ich kann dir nur in VB erklären wie es gehen würde, falls ich dich richtig verstanden habe.
wegen einer zusätzlichen Spalte mit einem Link oder so, würde ich dir empfehlen dies in der Designe-Ansicht zu machen.
Probier, rechtsklick Eigenschaftengenerator, unter Spalten, eine zusätzliche Schaltfläche zu erstellen. Dann steht dir diese Schaltfläche zur Verfügung.

Dein DataGrid hat mehrere Funktionen, unter anderem CancelCommand, UpdateCommand, EditCommand, DeleteCommand. Sinnvoll, wenn du vorher eine Schaltflächenspalte erstellt hast.

Diese Methoden wären mal die wichtigsten, welche zum bearbeiten notwendig sind.

Versuch in der EditCommand Methode, zuerst mal die Zeile an zu sprechen, z.B. so in etwa.
Code:
        'Wähle den Benutzer an der gewählten stelle bzw. Zeile
        DataGrid.EditItemIndex = e.Item.ItemIndex
Um das geänderte auch gleich zu sehen, solltest du die Daten gleich Anbinden. Ich würde dir auch raten dies mit einer Sesison-Variable zu machen.
Dann holst du dir von der Session Variable die Daten und Konventierst diese in eine ArrayList. Un dann bindest du die Daten ernet an.
Code:
        Dim arL As ArrayList = CType(Session("person"), ArrayList)
        'Datenquelle erneut anbinden
        dtgHaus.DataSource = arL
        dtgHaus.DataBind()


ksk
 
Zurück