Am unable to generate a gridview having some
Boundfields columns with some
Dynamic Templatefield columns generated on behalf of user's input that how many columns he specifies.
Please Help me...
below is themodified code from the article
How to create template columns dynamically in a grid viewprotected void Button2_Click(object sender, EventArgs e)
{
loadDynamicGridWithTemplateColumn();
}
private void loadDynamicGridWithTemplateColumn()
{
#region Code for preparing the DataTable
DataTable dt = new DataTable();
sqlconn = new SqlConnection(connstring);
string sql = "SELECT ROW_NUMBER() OVER(ORDER BY ssm.stu_name) AS 'row_num', stu_name, pk_student_id FROM SM_STUDENT_MASTER ssm WHERE ssm.current_class = '" + select_class.SelectedValue.ToString() + "' AND ssm.current_section = '" + select_section.SelectedValue.ToString() + "' AND ssm.stu_status <> 0 ORDER BY stu_name";
sqlconn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, sqlconn);
DataSet ds = new DataSet();
da.Fill(dt);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
sqlconn.Close();
DataColumn dcol = new DataColumn(Pronunciation, typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn(Fluency, typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn(Comprehension, typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn(Overall, typeof(System.String));
dt.Columns.Add(dcol);
for (int nIndex = 0; nIndex < 10; nIndex++)
{
}
#endregion
for (int i = 0; i <= dt.Columns.Count; i++)
{
if (i < 7)
{
DataColumn col1 = dt.Columns[i];
TemplateField bfield = new TemplateField();
bfield.HeaderTemplate = new GridViewTemplate(ListItemType.Header, col1.ColumnName);
bfield.ItemTemplate = new GridViewTemplate(ListItemType.Item, col1.ColumnName);
{
GridView1.Columns.Add(bfield);
}
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}