ja, so könnte man es machen. Danke dir
so sieht es mittlerweile bei mir aus, bis hierher habe ich es einigerma'en Verstanden doch habe ich noch 1-2 Fragen im Code Kommentiert
könnte man auch die Anzahl der Artikel ermitteln und dem Node zuweisen?
+ Elektrik
-- Anschlussleitungen (5)
-- Initiatoren (0)
+ Mechanik
-- Lastaufnahmemittel (10)
usw. ist nicht der Bestand sondern die erfassten Artikel in der Ebene
Dim dtx As New DataTable
Private Sub init_TVArtikelverwaltung()
Dim Rootnode As TreeNode = Nothing
Const Database As String = "Artikelstamm"
'Treeview-Knoten gemäß Datarelations erstellen
Dim nd_i, nd_k As TreeNode
Dim row_i, row_k As DataRow 'aktuelle Datarow in Schleife
Dim rel_i, rel_k As String 'Name der Datarelation
Dim col_i, col_k As Integer 'Index der anzuzeigenden Spalte im Treeview
Dim val_i, val_k As String 'anzuzeigender Daten-Wert im Treeview
'(nur benötigte Spalten)
dtx.TableName = "Artikelstamm"
'habe noch nicht verstanden wie die dtx an die Artikelrow kommt? für
' das DGV
With dtx.Columns
.Add("ID", GetType(Integer)) 'falls eindeutige Schlüssel
' benötigt werden
.Add("Erfassungsdatum", GetType(Date))
.Add("Artikelnummer", GetType(String)) 'eventuell Gettype(String)
.Add("Artikelbezeichnung", GetType(String))
.Add("Mindestbestand", GetType(Integer))
.Add("Meldeschwelle", GetType(Integer))
.Add("Maximo", GetType(String))
.Add("erledigt", GetType(Boolean))
End With
'Frage: benötige ich diese Zeile noch?
dtx.PrimaryKey = _
New DataColumn() {dtx.Columns("ID")} 'Schlüssel ggf. einrichten
'Frage: Rootknoten TV-Überschrift? ist das so OK
Rootnode = Trv.Nodes.Add(key:="Root", text:=Database, imageIndex:=0, _
selectedImageIndex:=1)
For i As Integer = 0 To LagerDB.Tables("Warengruppen").Rows.Count - 1
row_i = LagerDB.Tables("Warengruppen").Rows(i)
col_i = 1
val_i = row_i(col_i).ToString
nd_i = GetNode(Trv.Nodes, val_i)
rel_i = LagerDB.Relations( _
"Warengruppen_Artikelgruppen").RelationName
For k As Integer = 0 To row_i.GetChildRows(rel_i).Length - 1
row_k = row_i.GetChildRows(rel_i)(k)
col_k = 1
val_k = row_k(col_k).ToString
nd_k = GetNode(nd_i.Nodes, val_k)
rel_k = LagerDB.Relations("Artikelgruppen_Artikel").RelationName
'Speichern einer Referenz des Childrows-Array im Knoten
nd_k.Tag = row_k.GetChildRows(rel_k)
Next k
Next i
'Ascending, Descending
With ArtikelDGV
.DataSource = dtx
'ID
.Columns(0).Width = 50
.Columns(0).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleCenter
.Columns(0).SortMode = DataGridViewColumnSortMode.Automatic
'Datum
.Columns(1).Width = 110
.Columns(1).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleCenter
.Sort(ArtikelDGV.Columns(1), _
System.ComponentModel.ListSortDirection.Ascending)
'Artikelnummer
.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns(2).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleLeft
.Columns(2).SortMode = DataGridViewColumnSortMode.Automatic
'Artikelbezeichnung
.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns(3).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleLeft
.Columns(3).SortMode = DataGridViewColumnSortMode.Automatic
usw. |