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;
            }
        }

    }