I have been trying for hours to manually populate the grid with a nested view, I have read the documentation but for some reason I can't get it to work. I can do it by setting the AutoGenerateRelations and AutoGenerateColumns to true. But I need to define the column header text manually since the names coming form the query are not user readable friendly.
Private Sub populateGrid(byval ds as DataSet)
Dim ds As New DataSet()
ds.Tables.Add(JORs)
ds.Tables.Add(JORItems)
ds.Relations.Add(New DataRelation("InventoryItems", ds.Tables(0).Columns("JORNo"), ds.Tables(1).Columns("JORNo")))
SfDataGrid1.AutoGenerateRelations = True
SfDataGrid1.AutoGenerateColumns = True
SfDataGrid1.DataSource = ds
'gridviewdefinition for datagrid
Dim gridviewdefinition = New GridViewDefinition()
gridviewdefinition.RelationalColumn = "InventoryItems"
grididviewdefinition.DataGrid = New SfDataGrid() With {.Name = "firstlevelnestedgrid", .AutoGenerateColumns = False}
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Doc ID", .HeaderText = "Doc ID"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Doctype", .HeaderText = "Document Type"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Crew", .HeaderText = "Crew"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "JORNo", .HeaderText = "JOR No"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Salesman", .HeaderText = "Salesman"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Company", .HeaderText = "Company"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Well Name", .HeaderText = "Well Name"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Description", .HeaderText = "Description"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "ScheduledDate", .HeaderText = "Shed Date"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "Status", .HeaderText = "Status"})
Dim gridviewdefinition2 = New GridViewDefinition()
gridviewdefinition2.RelationalColumn = "JORNo"
gridviewdefinition2.DataGrid = New SfDataGrid() With {.Name = "secodlevelnestedgrid", .AutoGenerateColumns = False}
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "JORNo", .HeaderText = "JOR No"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "product", .HeaderText = "Product ID"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "description", .HeaderText = "Product Name"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "QTYHours", .HeaderText = "QTY Hours"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "rate", .HeaderText = "Rate"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "cost", .HeaderText = "Cost"})
SfDataGrid1.Columns.Add(New GridTextColumn() With {.MappingName = "partNo", .HeaderText = "Part Number"})
SfDataGrid1.DetailsViewDefinitions.Add(gridviewdefinition)
SfDataGrid1.DetailsViewDefinitions.Add(gridviewdefinition2)
End Sub