tags:

views:

256

answers:

1

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