DataGrid有列名吗?我只记得DataGrid只有HeaderText,DataField等属性,绑定DataGrid的DataSource可以指定列名,不记得DataGrid可以有自己的列名,不知道我的理解是否正确。

解决方案 »

  1.   

    也就是绑定列的DataField属性已知的情况下,如何得到该绑定列?
    我要写一些通用代码,必须得到的,谢谢!
      

  2.   

    dataset1.Tables["表名"].Columns["列名"].ColumnName="姓名";
      

  3.   

    楼上的正确,你怎么知道列名?你知道的只是该列绑定的数据源中的一个名,如果你要得到某一列的值,可以在ItemBound事件中用e.Item.Cells[i].Text.ToString()
      

  4.   

    我是通过制作好的XSD把数据信息存入,在DataGrid中进行指定的
    通过dataset1.Tables["表名"].Columns[i]取得列名,现在我想对datagrid中的数据进行操作和设置,不知能行吗?e.Item.Cells[i].Text.ToString()我知道,我已经用他做了一个从字典表中填充列头汉字的通用功能,但是现在我要得到datagrid的column再问一句:得到DataGrid中的编缉的数据难道只能用
    String colvalue =((TextBox)E.Item.Cells[i].Controls[0]).Text;这种方法吗?那不是也很不通用?能不能用象dataset1.Tables["表名"].Columns["列名"]这种的方法实现呢?谢谢大家回答
      

  5.   

    echoofice(echo) 说得对,你必须要根据你的数据源来找,而不能到DataGrid里找
      

  6.   

    ->得到DataGrid中的编缉的数据难道只能用
    ->String colvalue =((TextBox)E.Item.Cells[i].Controls[0]).Text;这种方法吗?
    不对,如果你的DataGrid里没有重复的Id的编辑控件的话可以直接用
    String colvalue =((TextBox)e.Item.FindControl("txtName")).Text;
      

  7.   

    for(int i=0;i<DataGrid1.Columns.Count;i++)
    {
        BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i];
        if(bCol.HeaderText=="列名")
            return i;
    }
    ……
    DataGrid1.Columns[i].……
      

  8.   

    blackcatiii(ljh) :
    使用以下代码:
    String colvalue =((TextBox)e.Item.FindControl("txtName")).Text;
    出现未将对象引用设置到对象的实例错误,无法取出列值
    请再帮忙,谢谢!
      

  9.   

    现在我只想到用
    for(int i=0;i<DataGrid1.Columns.Count;i++)
    {
        BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i];
        if(bCol.DataField=="列名")
            return i;
    }
    但是这样每取一列都必须对DATAGRID的所有列都做一次FOR循环,还是判断BOUNDCOLUMN,效率比较低呀