Как добавить столбец GridView в коде позади? - PullRequest
11 голосов
/ 16 мая 2011

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

gridViewPoco.Columns.Add(...)

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

<asp:BoundField>
<asp:TemplateField>

Ответы [ 2 ]

14 голосов
/ 16 мая 2011

Например;

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
5 голосов
/ 17 октября 2012

Ответ Сонера отлично подходит для добавления столбцов в конец 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
    }
...