I have a gridview which dynamically create ItemTemplate on run time. My problem is I cannot insert break point in every row. Its only working if I have two rows but when more than 2, the textbox align in 1 row only. I used literal and HtmlGenericControl but the same output. thanks in advance!
Code:protected void buildColumns() { this.gvCOT.Columns.Clear(); TemplateField templateField = new TemplateField(); templateField.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, "test"); templateField.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, "test"); templateField.ItemStyle.HorizontalAlign = HorizontalAlign.Left; this.gvCOT.Columns.Add(templateField); System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("test", typeof(string)); dt.AcceptChanges(); System.Data.DataRow row = dt.NewRow(); row["test"] = ""; dt.Rows.Add(row); dt.AcceptChanges(); this.gvCOT.DataSource = dt; this.gvCOT.DataBind(); }Code:public class GridViewTemplate: ITemplate { private DataControlRowType templateType; private string columnName; public GridViewTemplate(DataControlRowType type, string colname) { templateType = type; columnName = colname; } public void InstantiateIn(System.Web.UI.Control container) { switch (templateType) { case DataControlRowType.Header: Label lbl = new Label(); lbl.Text = columnName; container.Controls.Add(lbl); break; case DataControlRowType.DataRow: //HtmlGenericControl lineBreak = new HtmlGenericControl("br"); Control c1= new LiteralControl("<br />"); TextBox txt = new TextBox(); txt.Width = 50; txt.Text = "1"; container.Controls.Add(txt); container.Controls.Add(c1); txt = new TextBox(); txt.Width = 50; txt.Text = "2"; container.Controls.Add(txt); container.Controls.Add(c1); txt = new TextBox(); txt.Width = 50; txt.Text = "3"; container.Controls.Add(txt); container.Controls.Add(c1); break; default: break; } } }


Reply With Quote