Forum Moderators: open
Any help would be greatly appreciated.
----
dg.DataSource = ds.Tables(0)
Dim bc1 As New BoundColumn
bc1.DataField = "FirstName"
bc1.HeaderText = "FName"
dgVehicleDetail.Columns.Add(bc1)
lblShowGrid.Controls.Add(dg)
dg.DataBind()
First create yourself a new class:
Private Class ColumnTemplateTextBox
Implements ITemplate
Dim strColumnName As String
Dim liTemplateType As ListItemType
Sub New(ByVal ColumnName As String, ByVal TemplateType As ListItemType)
strColumnName = ColumnName
liTemplateType = TemplateType
End Sub
Sub InstantiateIn(ByVal container As Control)Implements ITemplate.InstantiateIn
Select Case liTemplateType
Case ListItemType.Header
Dim lit As New Literal()
lit.Text = strColumnName
container.Controls.Add(lit)
Case ListItemType.Item
Dim txt As New TextBox()
txt.Text = strColumnName
container.Controls.Add(txt)
End Select
End Sub
Then use the template column instead of the bound column and add to the datagrid:
dg.DataSource = ds.Tables(0)
Dim bc1 As New TemplateColumn()
bc1.HeaderTemplate = New ColumnTemplateTextBox("FirstName", ListItemType.Header)
bc1.ItemTemplate = New ColumnTemplateTextBox("FirstName", ListItemType.Item)
dgVehicleDetail.Columns.Add(bc1)
dg.DataBind()
I think that should do it. If not it'll get you on the right lines.
If you get stuck search around for adding templatecolumns programatically.