Datagridview mit Button befüllen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von jan99.

    Datagridview mit Button befüllen

    Moin!

    bisher habe ich schon einige Tabellen nach folgendem Schema befüllt:

    VB.NET-Quellcode

    1. DataGridView.Rows.Clear()
    2. ' Zeile befüllen
    3. Dim row As ArrayList = New ArrayList
    4. row.Add(False) '0 - Öffnen
    5. row.Add(Icon4Status(ID_Doc)) '1 - Schreiben Dummy oder Brief
    6. row.Add(Icon4Status(ID_Source)) '2 - Quelle G, A oder später I
    7. row.Add(FristAngabe) '3 - OpenDialog - Grundstück nur Meldung
    8. row.Add(DatumEintrag.ToString("yyyy.MM.dd")) '4 - Datum
    9. row.Add(Historie) '5 - Eintrag der Historie
    10. row.Add(Bearbeiter) '6 - BearbeiterIn
    11. row.Add(FID_Historie.ToString) '7 - FID des Antrag - oder Leerstring
    12. DataGridView.Rows.Add(row.ToArray)


    Nun möche ich eine Zelle, die ich als Datagridviewbuttoncolumn definiert habe füllen.

    Aber wie?

    Für Haken macht man das mit dem Wert true / false für die Zelle.

    Hier habe ich aber keine Idee.

    Gruß Jan
    ArrayList? Die ist aber sowas von VB6!
    Nur DGV-Spalten können von einem Typ sein. In einer Zeile geht das nicht.
    Und was hat das mit Haken zu tun? Das wär ne CheckBox(Column), keine Button(Column)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Moin!

    als ich angefangen habe eine DGV zu befüllen habe ich mit Eurer Hilfe unter anderem eine Funktion wie diese erstellt.

    VB.NET-Quellcode

    1. Private Sub SetPunkte2DVG()
    2. ' ++++++++++ http://ma22-wiki-001/eblwiki/index.php?title=DataGridView_(VB.net)#Beispiel-Code ++++++++++
    3. Dim Element As Autodesk.Map.IM.Data.Feature
    4. Dim MapData As New EBL.MapService.MapData(_Document)
    5. Dim sTmpId As String
    6. With DVG
    7. .Rows.Clear()
    8. Dim i As Integer
    9. ' die Checkbox kann geschrieben werden
    10. For i = 1 To 10
    11. .Columns(i).ReadOnly = True
    12. Next
    13. For Each Element In FP_ElementListe
    14. Dim row As ArrayList = New ArrayList
    15. row.Add(True) 'Filter setzen
    16. If Element.Attributes.Contains("PUNKTNUMMER") Then
    17. row.Add(Element.Attributes("PUNKTNUMMER").Value)
    18. Else
    19. row.Add("")
    20. End If
    21. ' amtliche Punktnummer
    22. If Element.Attributes.Contains("ALK_PKTNR") Then
    23. row.Add(Element.Attributes("ALK_PKTNR").Value)
    24. Else
    25. row.Add("")
    26. End If
    27. ' 2D-Koordinaten
    28. Dim ElementGeom As Autodesk.Map.IM.Graphic.Geometry
    29. Dim ElementPkt As Autodesk.Map.IM.Graphic.Point
    30. ElementGeom = CType(Element.Geometry, Autodesk.Map.IM.Graphic.Point)
    31. 'Typkonvertierung
    32. ElementPkt = CType(ElementGeom, Autodesk.Map.IM.Graphic.Point)
    33. row.Add(Math.Round(ElementPkt.X, 3).ToString("0.000"))
    34. row.Add(Math.Round(ElementPkt.Y, 3).ToString("0.000"))
    35. ' Höhe
    36. row.Add(MapData.GetFeatureAttribut(Element, "Z", "", EBL.MapService.MapData.Genauigkeit.Millimeter))
    37. ' Vermarkungsart
    38. sTmpId = MapData.GetFeatureAttribut(Element, "ID_VERMARKUNG", k_Vermarkung_Unbekannt.ToString, EBL.MapService.MapData.Genauigkeit.Zeichen)
    39. row.Add(MapData.GetVerm_Vermarkung_Short(CInt(sTmpId)))
    40. 'GPS-Fähigkeit - Sichtbarkeit
    41. sTmpId = MapData.GetFeatureAttribut(Element, "ID_SICHTBARKEIT", k_VermSichtbarkeit_Unbekannt.ToString, EBL.MapService.MapData.Genauigkeit.Zeichen)
    42. row.Add(MapData.GetVerm_Sichtbarkeit_Short(CInt(sTmpId)))
    43. ' Art des Punktes - Punkttyp
    44. sTmpId = MapData.GetFeatureAttribut(Element, "ID_PKTTYP", k_VermPktTyp_Unbekannt.ToString, EBL.MapService.MapData.Genauigkeit.Zeichen)
    45. row.Add(MapData.GetVerm_Punkttyp_Short(CInt(sTmpId)))
    46. ' FID
    47. row.Add(Element.FID)
    48. If Element.Attributes.Contains("Bem_Nigra") Then
    49. row.Add(Element.Attributes("Bem_Nigra").Value)
    50. Else
    51. row.Add("???")
    52. End If
    53. 'Dim picDim As Image = Image.FromFile(k_GlobalImageFolderMap & "1D-Punkt.png")
    54. 'row.Add(picDim)
    55. 'Dim picGPS As Image = Image.FromFile(k_GlobalImageFolderMap & "GPS_yes.png")
    56. 'row.Add(picGPS)
    57. .Rows.Add(row.ToArray)
    58. Next
    59. End With
    60. End Sub


    Hier wurden Bilder zugewiesen, wie auch Texte.

    Die Daten stammen stets nicht aus Datenbanken oder vergleichbares.

    Aber irgendwie muss an doch auch eine Schaltfläche über den Weg mit dem Array realisiert bekommen?!?!

    Das mit dem Haken war vielleicht mehr verwirrend als alles andere.

    Gruß Jan
    :huh: Das ist ein Vergleich zwischen Äpfeln und Glühbirnen. Zwischen Bild/Text und einem Control liegt ein relevanter Unterschied: Interaktivität.

    Sorry, aus dem Code kann ich keine relevanten Infos ziehen, da sind zu viele Unbekannte drin.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    hi !

    dann frage ich anders herum, wie müßte denn die Befüllung einer Zeile aussehen bei der es Buttons, Image und Text gibt?

    Wie gesagt es gibt nur Werte, die der Tabelle zugewiesen werden - keine Datenquelle wie DB oder ähnliches.

    Wie ich eine Zeile befüllle bis dato habe ich ja schon Eröffnungsbeitrag aufgezeigt - ohne vielm schückendes Beiwerk.

    Nachtrag:
    Ich habe testweise einmal folgendes gecodet:

    VB.NET-Quellcode

    1. row.Add("XXX") '0 - Öffnen


    Und dabei kommt zumindest eine Anzeige bei raus.



    gruß Jan

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „jan99“ ()

    Ah, erfolgreich seit Post#1 verlesen. Habe gelesen
    Nun möche ich eine Zeile, die ich als Datagridviewbuttoncolumn definiert habe füllen.
    aber da steht ja nicht Zeile, sondern Zelle.
    Aber wurscht.
    Du legst also für jede Spalte den Spaltentyp fest und … öhm. Ich glaub ich hab doch nicht verstanden, was Du willst.
    Wie man die Beschriftung einer Button-Zelle festlegt, weißt Du ja jetzt. Was brauchst Du noch? Denn das mit den Haken ist ja immer noch unklar. Willst Du noch ne CheckBoxColumn oder wie? Oder ImageColumn? Oder TextColumn? Kannst Du doch alles im DGV festlegen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.