vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Fortgeschrittene
DataGridView 
Autor: jan998
Datum: 10.12.15 15:56

Moin !

obwohl ich in vb.net erst Einsteiger bin muss ich mich an ein Thema wohl für Fortgeschrittene wagen.

Es geht darum das eine Tabelle zu erstellen ist die in der ersten Spalte eine Auswahl hat, dann folgen einige Textspalten und zuletzt zwei mit Bilder (Info über Statusangaben).

Die Daten liegen "lose" vor - also nicht in einer Datenbanktabelle.

In einer Form ist schon ein DataGridView platziert. Den Aufbau hatte ich dann über den Designer anzulegen.

Dann hatte ich versucht die Daten via Code direkt in die Tabelle zu schreiben mit dem Ergebnis das erst einige Spalten gefüllt waren und dann nochmal das ganze kam.

So sah dann mein Code aus:

      ' Anlegen einer Datentabelle für die temp. Speicherung der Daten
        Me._DataTable = New DataTable
        Me._DataTable.TableName = "Festpunkte"
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
          "Filter", .DataType = GetType(Boolean)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "EblPktNr", .DataType = GetType(String)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "AmtPktNr", .DataType = GetType(String)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "Rechtswert", .DataType = GetType(Double)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "Hochwert", .DataType = GetType(Double)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = "Höhe", _
        .DataType = GetType(Double)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "Vermarkung", .DataType = GetType(String)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = _
        "Dimension", .DataType = GetType(Integer)})
        Me._DataTable.Columns.Add(New DataColumn() With {.ColumnName = "GPS", _
        .DataType = GetType(Integer)})
        'Todo: Nigra Lagebezeichnung ergänzen
 
        ' setzen der Punktdaten
        'Todo: Datenbezeichnungen angpassen
        For Each Element In ElementListe
            Dim newRow As DataRow = Me._DataTable.NewRow()
            ' Filter
            newRow("Filter") = True
            ' EBL-Punktnummer
            If Element.Attributes.Contains("PKTNR") Then
                Log.ScreenLog(Element.Attributes("PKTNR").Value.ToString)
                newRow("EblPktNr") = Element.Attributes("PKTNR").Value
            Else
                newRow("EblPktNr") = ""
            End If
            ' amtliche Punktnummer
            If Element.Attributes.Contains("PKTNR") Then
                newRow("AmtPktNr") = Element.Attributes("PKTNR").Value
            Else
                newRow("AmtPktNr") = ""
            End If
            ' 2D-Koordinaten
            Dim ElementGeom As Autodesk.Map.IM.Graphic.Geometry
            Dim ElementPkt As Autodesk.Map.IM.Graphic.Point
            ElementGeom = CType(Element.Geometry, Autodesk.Map.IM.Graphic.Point)
            'Typkonvertierung
            ElementPkt = CType(ElementGeom, Autodesk.Map.IM.Graphic.Point)
            newRow("Rechtswert") = ElementPkt.X
            newRow("Hochwert") = ElementPkt.Y
            ' Höhe
            Dim HatHöhe As Boolean = True
            If Element.Attributes.Contains("Z") Then
                newRow("Höhe") = Element.Attributes("Z").Value
            Else
                HatHöhe = False
                newRow("v") = ""
            End If
            ' Vermarkung 
            ' Dimension - Status aus Combo
            ' GPS 
            'Todo: Attribute ergänzen
 
            Me._DataTable.Rows.Add(newRow)
        Next
 
        With f.DGV_Punkte
            .DataSource = Me._DataTable
            .Columns("Filter").DataPropertyName = "Filter"
            .Columns("EblPktNr").DataPropertyName = "EblPktNr"
            .Columns("amtNr").DataPropertyName = "AmtPktNr"
            .Columns("Rechtswert").DataPropertyName = "Rechtswert"
            .Columns("Hochwert").DataPropertyName = "Hochwert"
            .Columns("Höhe").DataPropertyName = "Höhe"
            .Columns("PktArt").DataPropertyName = "Vermarkung"
            .Columns("PktDim").DataPropertyName = "Dimension"
            .Columns("GPS").DataPropertyName = "GPS"
            'Todo: Nigra Lagebezeichnung ergänzen
        End With
Aber irgendwie bin ich damit nicht weitergekommen. Es soll ja auch den Weg geben, dass man zunächst ein DataSet definiert und dann dieses mit dem DGV verbindet.

Aber auch damit bin ich nicht weiter gekommen.

Es gibt ja die Unendlichkeiten des Web - aber so ein passendes Kochrezept zu diesem Thema habe ich einfach nicht finden können.

Kann mir einer weiterhelfen ??

Gruß Jan

VB.net Einsteiger im Bereich AutoCAD (Topobase bzw. Infrastructure Administrator)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView2.348jan99810.12.15 15:56
Re: DataGridView1.154jan99810.12.15 16:28
Re: DataGridView1.134jan99814.12.15 08:29

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-2024 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