VB6 DataGrid bearbeiten ohne DB-Anbindung

Hallo,

ich versuche gerade ein DataGrid auf einem Formular zu verwenden. Es sollen manuell Daten eingetragen werden, die nicht in einer Datenbank gespeichert werden.

AllowAddNew
AllowDelete
AllowUpdate
habe ich auf TRUE gesetzt. Trotzdem habe ich keine Möglichkeit, in eine Zelle zu klicken.

Habe ich evtl. noch eine Einstellung vergessen?

Vielen Dank im Voraus für eure Hilfe.

Viele Grüße
Steffi

Hallo,

ich versuche gerade ein DataGrid auf einem Formular zu
verwenden. Es sollen manuell Daten eingetragen werden, die
nicht in einer Datenbank gespeichert werden.

AllowAddNew
AllowDelete
AllowUpdate
habe ich auf TRUE gesetzt. Trotzdem habe ich keine
Möglichkeit, in eine Zelle zu klicken.

Datagrid ohne Datenbank? Das wird nicht gehen. Warum Datagrid?

Gruß, Rainer

Was kann ich dann stattdessen verwenden? Der Benutzer soll zur Laufzeit in eine zunächst leere Tabelle beliebig viele Eintragungen machen können, diese wieder bearbeiten oder löschen können.

Gruß
Steffi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Steffi,

Was kann ich dann stattdessen verwenden? Der Benutzer soll zur
Laufzeit in eine zunächst leere Tabelle beliebig viele
Eintragungen machen können, diese wieder bearbeiten oder
löschen können.

dafür gibt es IMHO nichts fertiges.
Ich verwende dafür ein Flexgrid und eine Textbox.

Beim Klick in das Flexgrid wird die Textbox über die Zelle des Flexgrids gelegt mit dem Inhalt der Zelle gefüllt und der Focus darauf gesetzt. Verliert die Textbox den Focus, wird sie unsichtbar geschaltet und der Text in die Zelle des Flexgrids gefüllt.

Das sieht aus, als könnte man Werte in das Flexgrid eintragen, der Anwender bemerkt nichts von der Textbox. :smile:

Dim r As Integer
Dim c As Integer

Private Sub Form\_Load()
 Text1.Visible = False
 Text1.Appearance = 0
 Text1.BorderStyle = 0
End Sub

Private Sub MSFlexGrid1\_Click()
 Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
 Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
 Text1.Height = MSFlexGrid1.CellHeight
 Text1.Width = MSFlexGrid1.CellWidth
 r = MSFlexGrid1.Row
 c = MSFlexGrid1.Col
 Text1.Text = MSFlexGrid1.TextMatrix(r, c)
 Text1.Visible = True
 Text1.SetFocus
End Sub


Private Sub Text1\_LostFocus()
 MSFlexGrid1.TextMatrix(r, c) = Text1.Text
 Text1.Visible = False
End Sub

Gruß, Rainer