Hallo zusammen!
Als Umsteiger bzw. Anfänger benötige ich eure Hilfe.
Ich hab mal das mit dem DataGridView aufgenommen und so einiges probiert.
Das DataGridView mit Daten aus einer Datenbank zu füllen habe ich nun hinbekommen.
Hier die Code - Auszüge:
'#####--Spaltenköpfe füllen------------------------------------
'#####--diese kann man sicherlich auch eleganter machen ???????
With DataGridView1
.ColumnHeadersHeightSizeMode = _
DataGridViewColumnHeadersHeightSizeMode.DisableResizing
.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken
.ColumnHeadersHeight = 22
.RowHeadersVisible = False
.DefaultCellStyle.WrapMode = DataGridViewTriState.False
.RowsDefaultCellStyle.BackColor = Drawing.Color.White
.AlternatingRowsDefaultCellStyle.BackColor = Drawing.Color.Beige
.Columns.Add("0", "DWG")
.Columns(0).Width = 15
.Columns.Add("1", "PDF")
.Columns(1).Width = 15
.Columns.Add("2", "Prüfung")
.Columns(2).Width = 15
.Columns.Add("3", "Artikelnummer Hoffmann")
.Columns(3).Width = 150
.Columns(3).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleLeft
'....
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
End With Hier die Datenübernajme aus der Datenbank:
For Each dr In dt.Rows
DataGridView1.Rows.Add("", "", "", dr("PD_NUM").ToString(), _
dr("MS_SORTIERUNG").ToString(), _
dr("M_Bestelltext").ToString(), _
dr("M_Breite").ToString(), _
dr("M_Dicke").ToString(), _
dr("M_WANDUNG").ToString(), _
dr("M_Laenge").ToString(), _
dr("M_LIEF_PD_NUM").ToString(), _
'....
Next
'#####--mit dieser Schleife wollte ich den ersten 3 Cellen Bilder zuorden---
'#####--wenn die Cellen (15) bzw. (16) werte enthalten----------------------
'#####--dieses funktioniert aber nicht--------------------------------------
Dim IntI, intC As Integer
intC = DataGridView1.Rows.Count
For IntI = 0 To intC - 1
Dim CellImage(1) As DataGridViewImageCell
CellImage(0).Value = ImageList1.Images(20)
CellImage(0).ImageLayout = DataGridViewImageCellLayout.Normal
CellImage(1).Value = ImageList1.Images(19)
CellImage(1).ImageLayout = DataGridViewImageCellLayout.Normal
If DataGridView1.Rows(IntI).Cells(15).Value.ToString > 0 Then
DataGridView1.Rows(IntI).Cells(0) = CellImage(0)
End If
If DataGridView1.Rows(IntI).Cells(16).Value.ToString > 0 Then
DataGridView1.Rows(IntI).Cells(1) = CellImage(1)
End If
Next Ferner habe ich versucht, wenn ich eine Zeile anklicke, dann sollen bestimmte
Celleninhalte an bestimmte Formularfelder übergeben werden, dieses funktioniert leider auch nicht.
Private Sub DataGridView1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles DataGridView1.Click
Try
Dim n = DataGridView1.CurrentCellAddress.Y
Dim BildPfad(4) As String
If CB_Datenbank.Checked Then
With Me.DataGridView1
If .Rows(n).Cells(16).Value.ToString > 0 Then
cmdPDF.Visible = True
Else
cmdPDF.Visible = False
End If
Bezeichnung.Text = .Rows(n).Cells(17).Value
TB_Preis.Text = .Rows(n).Cells(12).Value.ToString
BildPfad(1) = .Rows(n).Cells(15).Value.ToString.Replace( _
"D.dwg", "D.wmf")
End With
'.... Es wäre schön, wenn mir als Neuling hierbei jemand helfen könnte.
VG
Dirk |