举个例子:现在有个datagrid(变量为datagrid1)内容如下:姓名  性别
张三  男
李四  女
王五  男现在要增加一列现在要增加一列 年龄 ,并把张三设的年龄设为19,李四的年龄设为21,王五的年龄设为22。请写出C#的代码

解决方案 »

  1.   

    http://snowlove67.cnblogs.com/archive/2005/11/23/282737.html参照这个试试,这个是加入一列bool类型的字段,其实和你的需求是大同小异的..希望对你有帮助
      

  2.   

    以下说明绝对符合你的要求啊!这种问题多看看msdn以编程方式向 DataGrid 添加表和列
    警告   当以编程方式指定列样式时,在向 GridTableStylesCollection 对象添加 DataGridTableStyle 对象之前,请务必先创建 DataGridColumnStyle 对象并将其添加到 GridColumnStylesCollection 对象中。当将空的 DataGridTableStyle 对象添加到集合时,会自动生成 DataGridColumnStyle 对象。因此,如果试图向 GridColumnStylesCollection 对象添加具有重复的 MappingName 值的新 DataGridColumnStyle 对象,则会引发异常。
    为在表中显示数据,必须首先将 DataGrid 控件绑定到数据集。有关更多信息,请参见将 Windows 窗体 DataGrid 控件绑定到数据源。 
    声明新的表样式并设置其映射名称。 
    'Visual Basic
    Dim ts1 As New DataGridTableStyle()
    ts1.MappingName = "Customers"// C#
    DataGridTableStyle ts1 = new DataGridTableStyle();
    ts1.MappingName = "Customers";// C++
    DataGridTableStyle* ts1 = new DataGridTableStyle();
    ts1->MappingName = S"Customers";
    声明新的列样式并设置其映射名称及其他属性。 
    'Visual Basic
    Dim myDataCol As New DataGridBoolColumn()
    myDataCol.HeaderText = "My New Column"
    myDataCol.MappingName = "Current"// C#
    DataGridBoolColumn myDataCol = new DataGridBoolColumn();
    myDataCol.HeaderText = "My New Column";
    myDataCol.MappingName = "Current";// C++
    DataGridBoolColumn* myDataCol = new DataGridBoolColumn();
    myDataCol->HeaderText = S"My New Column";
    myDataCol->MappingName = S"Current";
    调用 GridColumnStylesCollection 对象的 Add 方法以将该列添加到表样式中 
    'Visual Basic
    ts1.GridColumnStyles.Add(myDataCol)// C#
    ts1.GridColumnStyles.Add(myDataCol);// C++
    ts1->GridColumnStyles->Add(myDataCol);
    调用 GridTableStylesCollection 对象的 Add 方法以将表样式添加到数据网格中。 
    'Visual Basic
    DataGrid1.TableStyles.Add(ts1)// C#
    dataGrid1.TableStyles.Add(ts1);// C++
    dataGrid1->TableStyles->Add(ts1);