DataGrid恐怕不能直接添加,要加的话要用sql语句了,然后datagrid重新绑定。帮你up一下,看看有没有高人帮你解决了。

解决方案 »

  1.   

    DataGrid恐怕不能直接添加,要加的话要用sql语句了,然后datagrid重新绑定。帮你up一下,看看有没有高人帮你解决了。
      

  2.   

    to: aoyo(遨游)
    datagrid.Columns.AddAt()
    运行时自动添加列时
    dataGrid.Columns.Count=0
    永为0
    会报错的!!
      

  3.   

    如果是自动生成的就只能在DataTable中或在ItemDataBount、ItemCreated中添加,如果不是自动生成可以这样:
    BoundColumn bc;
    bc = new BoundColumn();
    bc.ItemStyle.Width=(Unit)0.20;
    bc.HeaderText="合同名称";
    bc.ItemStyle.VerticalAlign=VerticalAlign.Middle;
    bc.ItemStyle.HorizontalAlign=HorizontalAlign.Left;
    bc.DataField="ContractName";
    bc.ItemStyle.Wrap = false;
    MyDataGrid.Columns.Add(bc);
    MyDataGrid.DataBind();
      

  4.   

    BoundColumn NewColumn = new BoundColumn();//创建新的BoundColumn
    NewColumn.HeaderText="france"; //添加后要显示的列名
    NewColumn.DataField="france";//该列对应的字段,该字段必须在表里有,只是原来没显示出来
    DataGrid1.Columns.AddAt(3, NewColumn);//在english后添加该列
    DataGrid1.DataBind();希望对你有用  :)
      

  5.   

    如果是自动加列的话这样行不行:
    select的时候就把需要添加的列放在english那一列之后,添多少都没关系啊表结构
    (列名)   page     control    english    chinese   BIG5       janpan
    (值 )    index    submit      submit     提交     BG5提交     @%@#%
             index     tt            tt       册       BG册        %&^
    如:原先为:
    select page,control,english,chiness,big5,janpan from tb where...加列后:
    select page,control,english,col1,col2,col3...,chiness,big5,janpan from tb where...
      

  6.   

    在ItemDataBount中加入:
    public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem){
    string myRole  = DataBinder.Eval(e.Item.DataItem, "au_id").ToString();
    TableCell tc = new TableCell();
    tc.Text = myRole;
    e.Item.Cells[3].Controls.Add(tc);
    }
      

  7.   

    添加新列标题:
    if(e.Item.ItemType == ListItemType.Header){
    TableCell tc = new TableCell();
    Label l = new Label();
    l.Text = "原标题";
    tc.Text = "新列标题";
    e.Item.Cells[2].Controls.Add(l);
    e.Item.Cells[2].Controls.Add(tc);
    }
      

  8.   

    要想控制DATAGRID的所有的列的顺序,请不要自动生成列,要用绑定列的方式,
    做完后在LOAD事件中用ADDAT()添加列,把列添加到指定位置