Ich verwende C1FlexGrid
und ich habe die Datentabelle als c1flexgrid's Datenquelle. Jetzt möchte ich die Felder der Datentabelle den Spalten der c1flexgrid per Code. Bitte sagen Sie mir, wie man das macht.
Antwort
Zu viele Anzeigen?So erstellen Sie programmatisch Spalten im C1FlexGrid:
- AutoGenerateColumns auf False setzen
- Fügen Sie der Sammlung C1FlexGridBase.Cols() Spaltendefinitionen hinzu.
- Binden der DataTable an das Flexgrid
Zum Beispiel,
Private _dt As System.Data.DataTable
Private Sub LoadFlexGrid()
'create new table
_dt = New System.Data.DataTable("MyDataTable")
_dt.Columns.Add("CustomerId", GetType(Integer))
_dt.Columns.Add("CustomerName", GetType(String))
'populate it
_dt.Rows.Add(New Object() {12, "Joe"})
_dt.Rows.Add(New Object() {14, "Bob"})
'define column grid columns
Dim col1 As C1.Win.C1FlexGrid.Column
col1 = flex.Cols.Add()
col1.Name = "CustomerId"
col1.Caption = "Customer Id"
Dim col2 As C1.Win.C1FlexGrid.Column
col2 = flex.Cols.Add()
col2.Name = "CustomerName"
col2.Caption = "Name"
'bind the grid to it
flex.AutoGenerateColumns = False
flex.DataSource = _dt
End Sub