vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
mal wieder DataGrid2 und ComboList  
Autor: Reinski
Datum: 24.09.05 15:06

Hallo zusammen,

habe ein sevDataGrid im recordset Modus und in den angezeigten Daten eine Spalte vom Type COMBOLIST (namens ControlType).
In den Datensätzen stehen in dieser Spalte IDs, der Anwender soll aber ausschließlich mit den zugehörigen Texten hantieren.
Umgesetzt habe ich das 1:1 analog zur Online-Hilfe:
Private Sub Form_Load()
    Dim SQLString As String
 
(...) 'Öffnen des WS, der DB etc.
 
   With Grid1
    .LockUpdate True
    .CreateClone = True
    .DataMode = Mode_Recordset
    .SaveNullValues = False
    .AllowEdit = True
    .Clear True
    SQLString = "SELECT ArtParamID, ControlType FROM ArtParamDimension;" 
    Set .Recordset = DB.OpenRecordset(SQLString)
    .Columns("ArtParamID").Visible = False
    ' Beim Editieren der ControlType-Spalte soll eine
    ' ComboBox mit bestimmten Auswahlpunkten angezeigt werden
    .Columns("ControlType").ColType = TYPE_COMBOLIST
    .LockUpdate False
    .Refresh
  End With
End Sub
 
Private Sub Grid1_RowLoaded(ByVal nRow As Long, Item As sevDataGrid2.ListItem)
  With Item
    ' Volltext anzeigen
    Select Case Val(.CellText("ControlType"))
        Case 1    'TextBox
            .CellText("ControlType") = "TextBox"
        Case 2    'Label
            .CellText("ControlType") = "Label"
        Case 3    'ComboBox
            .CellText("ControlType") = "ComboBox"
        Case 4    'List
            .CellText("ControlType") = "List"
        Case 5    'CheckBox
            .CellText("ControlType") = "CheckBox"
    End Select
  End With
End Sub
 
Private Sub Grid1_FillComboBox(ByVal nRow As Long, ByVal nCol As Long, _
  oComboBox As sevDataGrid2.EditComboBox)
 
  With Grid1
    ' Jetzt ComboBox mit Werten füllen
    If .Columns(nCol).Key = "ControlType" Then
      With oComboBox
        ' ComboBox mit 2 Spalten erstellen (ID und Text)
        .ColumnAdd "CtrlType", , , , False
        .ColumnAdd "Descr"
 
        ' Werte eintragen
        .AddItem "1" & vbTab & "TextBox", "1"
        .AddItem "2" & vbTab & "Label", "2"
        .AddItem "3" & vbTab & "ComboBox", "3"
        .AddItem "4" & vbTab & "List", "4"
        .AddItem "5" & vbTab & "CheckBox", "5"
 
        ' 1. Spalte an das Datenfeld im DataGrid binden
        .BoundColumn = 1
 
        ' 2. Spalte an das Eingabefeld binden
        .DisplayColumn = 2
      End With
    End If
  End With
End Sub
Soweit, so schön...! Wenn man einen bestehenden Datensatz editiert, kann man mit der ComboBox ganz normal arbeiten.
Wenn ich allerdings einen neuen Datensatz (nach der AddNew()-Methode) bearbeite, und aus der ComboBox einen Eintrag auswähle, dann wird dieser nicht in die Zelle übernommen, sondern dort erscheint immer nur eine 0!

Übrigens verwende ich Version 2.2.42.
Für Hilfe wäre ich äußerst dankbar.
Gruß!

Reinski

Immer noch auf der Suche nach dem "Tu's trotzdem"-Button...

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
mal wieder DataGrid2 und ComboList 1.038Reinski24.09.05 15:06
Re: mal wieder DataGrid2 und ComboList 607ModeratorDieter25.09.05 09:40
Re: mal wieder DataGrid2 und ComboList 580Reinski25.09.05 19:40
Re: mal wieder DataGrid2 und ComboList 648AndiSW11.10.05 12:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel