2011-05-16 58 views

Respuesta

14

Por ejemplo;

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); 
} 
  • Definir nueva TemplateField
  • Establecer el nombre de encabezado de la columna (Col1) y tipo (Int32)
  • establecer el tipo de valor de la columna (Int32)
  • Añadir este campo a su Gridview
+0

Gracias por esto, que tenía el mismo problema en un programa hace algún tiempo. Oye, ¿puedes con este problema? http://stackoverflow.com/questions/20708957/c-sharp-metro-xaml-designing-the-page-for-any-of- the -screen – TheQuestioner

+0

@Downvoter importa comentar al menos para que pueda ver dónde _might_ ¿estar equivocado? –

+0

¿Por qué recibo un error como 'El tipo o espacio de nombre GridViewLabelTemplate' no se pudo encontrar (¿falta una directiva using o una referencia de ensamblado?) Cuando pruebo su código? –

5

Soner's Answer es ideal para una dding columnas al final de Gridview. Sin embargo, si ves que necesitas para agregar columnas a la mitad de la GridView, tendrá que tomar un camino ligeramente diferente (utilizando la función 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 
    } 
Cuestiones relacionadas