Hallo,
arbeite mit VB2008 und DataGridview
Wie kann ich in einem DataTable bzw. DataView den Index des DataGridView finden und diese Zeile markieren.
Möchte die Zeile per .Find finden und dann ganz einfach den Index des DataGridView anspringen.
Habe keine eigene ID-Zeile.
DGV mit 2 Spalten:
Icon Text
Ich bekomme als Übergabe z.B. "eou" (eou = die 7.Zeile des DataGrid's=
Wie kann ich also die 7. Zeile markieren.
Habe folgendes probiert aber keine Lösung
Übergabe:
RahmenGrid_Index_Zuordnung_herstellen "eou"
'Suche nach dem Index des aktuell gewählten Eintrags
Public Sub RahmenGrid_Index_Zuordnung_herstellen(ByVal Inhalt As String)
Dim foundRows() As DataRow
Dim i, Zeile As Integer
Inhalt = "Rahmen = '" & Inhalt & "'"
'DataRow() = DataTable.Select (FilterExpression (String), sortierfolge (Spalte
' Sortierricht) Sring)
foundRows = fDTcboRahmen.Select(Inhalt, "Rahmen Asc")
''Im DataRow das Item finden, der gewählt ist.
For i = 0 To foundRows.GetUpperBound(0)
''''''Zeile = System.Data.DataViewRowState.CurrentRows + 1 FALSCH!!!!
ZEILE = ??????????????????
Next
'DataGrid View (Spalte, Zeile +1)
dg_Rahmen.Item(1, Zeile).Selected = True
End Sub Code zum Befüllen des DataGridViews
Private fDTcboRahmen As New DataTable("Rahmen")
Private fDVRahmenDataView As DataView
Private Sub RahmenGrid_anbinden()
CreateControls()
createConst_Rahmen()
With dg_Rahmen
.DataSource = fDVRahmenDataView
.Columns(0).DataPropertyName = fDTcboRahmen.Columns(0).ColumnName
.Columns(1).DataPropertyName = fDTcboRahmen.Columns(1).ColumnName
.Columns(1).HeaderText = "Rahmen"
.Refresh()
End With
End Sub
Private Sub CreateControls
With dg_Rahmen
.Columns.Clear()
Dim ImgCol As New DataGridViewImageColumn(False)
With ImgCol
.Name = "Icon"
.ValueType = GetType(Image)
End With
.Columns.Add(ImgCol)
Dim TbCol As New DataGridViewTextBoxColumn
With TbCol
.ValueType = GetType(Integer)
.Name = "Rahmen"
End With
.Columns.Add(New DataGridViewTextBoxColumn())
End With
end sub
'DataTable: mDTcboRahmen Erzeugung der Einträge f. Rahmen
Private Sub createConst_Rahmen()
Dim i As Integer
Dim DR As DataRow
Dim IcoBild() As String = {"leer", "r_elrou", "r_dlrou", "e_lr", "r_el", _
"r_er", "e_ou", "r_eo", "r_eu", "d_lr", "r_dl", "r_dr", "d_ou"}
Dim IcoName() As String = {" ", "elrou", "dlrou", "elr", "el", "er", "eou", _
"eo", "eu", _
"dlr", "dl", "dr", "dou"}
fDTcboRahmen = New DataTable
fDTcboRahmen.Columns.Add("ico", GetType(Image))
fDTcboRahmen.Columns.Add("Rahmen", GetType(System.String))
For i = 0 To IcoName.Count - 1
DR = fDTcboRahmen.NewRow
Dim Ico As Image = Image.FromFile("C:.." & IcoBild(i) & ".jpg")
DR.Item(0) = Ico
DR.Item(1) = IcoName(i)
fDTcboRahmen.Rows.Add(DR)
Next
fDTcboRahmen.AcceptChanges()
fDVRahmenDataView = New DataView(fDTcboRahmen)
End Sub Danke für Eure Hilfe |