Как добавить столбец GridView на код?

Я пытаюсь добавить столбец в GridView, в ASP.NET 2.0

gridViewPoco.Columns.Add(...)

Однако я не могу найти правильный вариант. Я бы хотел, чтобы эквиваленты были следующими:

<asp:BoundField>
<asp:TemplateField>

Ответ 1

Например:

protected void Btn_AddCol_Click(object sender, EventArgs e)
{
    TemplateField tf = new TemplateField();
    tf.HeaderTemplate = new GridViewLabelTemplate(DataControlRowType.Header, "Col1", "Int32");
    tf.ItemTemplate = new GridViewLabelTemplate(DataControlRowType.DataRow, "Col1", "Int32");
    MyGridView.Columns.Add(tf);
}
  • Определить новый TemplateField
  • Задайте имя заголовка столбца (Col1) и введите (Int32)
  • Задайте тип значения столбца (Int32)
  • Добавьте это поле в свой Gridview

Ответ 2

Soner Answer отлично подходит для добавления столбцов в конец Gridview. Если, однако, вам нужно добавить столбцы в середину GridView, вам нужно будет сделать несколько другой путь (используя функцию MyGridView.Columns.Insert()):

  protected void Btn_AddCol_Click(object sender, EventArgs e)
    {
    TemplateField tf = new TemplateField();
    tf.HeaderTemplate = new GridViewLabelTemplate(DataControlRowType.Header, "Col1", "Int32");
    tf.ItemTemplate = new GridViewLabelTemplate(DataControlRowType.DataRow, "Col1", "Int32");
    MyGridView.Columns.Insert(2, tf); //the 2 makes it go into the third column -- zero-based indexing ftw
    }