Hallo Ihr wissenden,
ich habe ein DataGridview die als Quelle eine DataTable hat.
Diesen Datatable wird mittels einer Funktion aus einer SQL-Datenbank gefüttert.
Soweit funktioniert auch auch das befüllen.
Aber nach dem befüllen möchte ich das Format des DataGridView ändern. Z.B. möchte ich eine Spalte aus dem Datengridview löschen Anzahl der Zeilen auslesen usw.
Dies geht aber nicht, da die Spalten und die Daten nach dem befüllen noch nicht erkannt werden. erst wenn der Code durchgelaufen ist, kann ich durch einen getrennten Befehl über ein Button z.b. gewünchtes erreichen.
Muss ich dazwischen irgendwas refeshen oder wie erreiche ich das die Daten gleich erkannt werden.
ich habe ein DataGridview die als Quelle eine DataTable hat.
Diesen Datatable wird mittels einer Funktion aus einer SQL-Datenbank gefüttert.
Soweit funktioniert auch auch das befüllen.
Aber nach dem befüllen möchte ich das Format des DataGridView ändern. Z.B. möchte ich eine Spalte aus dem Datengridview löschen Anzahl der Zeilen auslesen usw.
Dies geht aber nicht, da die Spalten und die Daten nach dem befüllen noch nicht erkannt werden. erst wenn der Code durchgelaufen ist, kann ich durch einen getrennten Befehl über ein Button z.b. gewünchtes erreichen.
Muss ich dazwischen irgendwas refeshen oder wie erreiche ich das die Daten gleich erkannt werden.
Quellcode
- ...
- Dim SQL_Codeas String = "...."
- Dim Datentabelle As New DataTable
- Datentabelle = SQL_DB.Werte_ins_DATAGRID_Laden(SQL_Code) '<---- Ruft die Daten vom SQL-Server ab und gibt in Return die befüllte Datatable zurück
- With .dgv_Daten
- .DataSource = Datentabelle
- '--- Ab hier funktioniert es nicht da er die Daten (Zeilen, Spalten) noch nicht erkannt hat. Nehme ich diesen Teil raus funktioniert es wie gewollt
- '--- z.B. würde Datentabelle.rows.count() die richtige Anzahl der Zeilen auswerfen aber .rows.count() ergibt 0. Selibes mit den Spalten.
- .Height = .Rows.Count() * .Rows(0).Height + 2
- With .Columns(0)
- .Width = 100
- .HeaderText = "Period"
- End With
- With .Columns(1)
- .Width = 100
- .DefaultCellStyle.Format = "$ #,###"
- .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- .DefaultCellStyle.NullValue = "n/a"
- End With
- With .Columns(2)
- .Visible = False
- End With
- end with