怎么取得datagrid中自动创建列的列名啊??这么小的问题,困惑我一下午了,请各位高手指点!!

解决方案 »

  1.   

    private void DataGrid1_UpdateCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {      Label4.Text=this.DataGrid1.Columns[3].ToString();
    }这样?我总共有8列,这样写出现错误:
    System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名:index
      

  2.   

    Label4.Text= e.Item.Cells[3].Text;
      

  3.   

    Label4.Text= e.Item.Cells[3].Text;
    呃,这样写倒没出现错误提示...
    但Label4没有显示出字符..
      

  4.   

    因为你是编辑所以cell[3]一般没有texttry:Label4.Text = ((TextBox)e.Cells[3].Controls[0]).Text;
      

  5.   

    这个确实可以显示,但它输出的是textBox里面的值啊,不是列名.....
      

  6.   

    我晕死,DataGrid的列哪有名?
      

  7.   

    啊?比如:
    管理 id 日期 张三 
    编辑 1       21         
    编辑 2       333         
    编辑 3       dgsg     这样的DataGrid   我想读出"张三"的字段啊....
      

  8.   

    呃,我就想Label输出的值为 张三.....
    呵呵,谢谢大哥..
      

  9.   

    Label4.Text=this.DataGrid1.Columns[3].HeaderText;前提是这个colum是写在aspx中的,不是后台添加的.
      

  10.   

    恩,这就是问题啊,这是自动创建列,aspx能写colum的属性吗?
      

  11.   

    Response.Write(((DataGridItem) this.DataGrid1.Controls[0].Controls[0]).Cells[3].Text);
      

  12.   

    System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。参数名:index出现这样的错误啊....晕死..
      

  13.   

    先看看
    Response.Write(this.DataGrid1.Controls[0].ToString());然后看看
    Response.Write(this.DataGrid1.Controls[0].Controls[0].ToString());
    到底是什么类型.
      

  14.   

    System.Web.UI.WebControls.DataGridTable 
    System.Web.UI.WebControls.DataGridItem
      

  15.   

    再看看.
    Response.Write(((DataGridItem) this.DataGrid1.Controls[0].Controls[0]).Cells.Count.ToString());
      

  16.   

    asp1.1还是2.0?
    再看看.Response.Write(((DataGridItem) this.DataGrid1.Controls[0].Controls[1]).Cells.Count.ToString());
      

  17.   

    Response.Write(
    ((DataGridItem) this.DataGrid1.Controls[0].Controls[1]).Cells[3].Text);
      

  18.   

    Click the link to solve your problem.Good luck!