I am useing C1FlexGrid and i set the datatable as c1flexgrid's datasource. now i want to map filed of datatable to columns of c1flexgrid by code. please tell me how to do it.
A:
To programmatically create columns on the C1FlexGrid:
- Set AutoGenerateColumns to False
- Add column definitions to the C1FlexGridBase.Cols() collection.
- Bind the DataTable to the flexgrid
For example,
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