Dear Friend,
I have been using following coding to generate dynamic columns in my Data Grid. Please have a look at, if you have few minutes free for the same.
Thanks a lot in advance.
<asp:datagrid id="DataGrid1" style="Z-INDEX: 114; LEFT: 112px; POSITION: absolute; TOP: 160px" runat="server" Width="344px" Height="148px" OnPageIndexChanged="DataGrid1_PageIndexChanged" AllowPaging="True" AutoGenerateColumns="False" PageSize="5" DataKeyField="SRNo">
<Columns>
<asp:TemplateColumn></asp:TemplateColumn>
<asp:BoundColumn DataField="SRNo" ReadOnly="True"
HeaderText="Roll No"></asp:BoundColumn></Columns>
</asp:datagrid>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
DataBindGrid1()
End If
End Sub
Private Sub DataBindGrid1()
Dim Ds As New DataSet
Clm1.DataField = "pcat"
Clm1.HeaderText = "Theory Marks"
DataGrid1.Columns.Add(Clm1)
Clm2.DataField = "pcap"
Clm2.HeaderText = "Practical Marks"
DataGrid1.Columns.Add(Clm2)
Clm3.EditText = "Edit"
Clm3.UpdateText = "Update"
Clm3.CancelText = "Cancel"
Clm3.ButtonType = ButtonColumnType.PushButton
DataGrid1.Columns.Add(Clm3)
Dim Adp As New SqlDataAdapter("select srno, pcat, pcap from iyear",
Con)
Con.Open()
Adp.Fill(Ds, "iyear")
DataGrid1.DataSource = Ds
DataGrid1.DataMember = "iyear"
DataGrid1.DataBind()
Con.Close()
End Sub
Public Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEvent Args) Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataBindGrid1()
End Sub
Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataBindGrid1()
End Sub