如何获取datagrid自动生成列的某一列的headertext,也就是datagrid绑定的表的某一字段名?

解决方案 »

  1.   

    请你说清楚
    把datagrid设置为“在运行时自动创建列”,headertext就是数据库里的列名了
      

  2.   

    举个例吧:
    数据库中有两个表Areas,Name,当选择其中一个时,
    表名参数传入test.aspx,
    test.aspx的功能是完成显示所选表,(我用的是DATAGRID绑定并自动生成列和两个按钮列),
    如果要删除或更新某一行的记录并写回数据库,就必须获取字段名.怎么实现?
      

  3.   

    Label1.Text=DataGrid1.Columns[0].HeaderText.ToString();
      

  4.   

    好象不能获取到自动生成列的headertext啊!
    我加了两个按钮列,
    columns[0]获得的是按钮列的headertext,如果将columns[0]改成columns[2] 包错:索引超出范围
      

  5.   

    你在哪里获取的?
    Label1.Text=DataGrid1.Columns[0].HeaderText.ToString();
    这句我市在DataGrid邦定后,通过按钮点击获取的,你要先邦定DataGrid后,在读取相应的数据
      

  6.   

    我这样写对吗?private void BindDataGrid()
    {
    string SQLCONNECTIONSTRING="data source=(local);uid="+Session["LogonName"].ToString();
    SQLCONNECTIONSTRING+=";pwd=";
    SQLCONNECTIONSTRING+=Session["Password"].ToString();
    SQLCONNECTIONSTRING+=";database=";
    SQLCONNECTIONSTRING+=Session["DBName"].ToString();string tabname = Request["tabname"].ToString();SqlConnection myConnection=new SqlConnection(SQLCONNECTIONSTRING);
    string cmdText="select * from " + tabname;

    SqlDataAdapter da=new SqlDataAdapter(cmdText,myConnection);
    myConnection.Open();DataSet ds=new DataSet();
    da.Fill(ds);
    TBContent1.DataSource=ds;
    TBContent1.DataBind();
    myConnection.Close();
    }//绑定在DATAGRID中的删除按钮
    private void TBContent1_DeleteCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
    { int n=TBContent1.Columns.Count;

    string head=TBContent1.Columns[2].HeaderText.ToString();
    }