知道DATAGRID的列名,如何得到该列? DataGrid有列名吗?我只记得DataGrid只有HeaderText,DataField等属性,绑定DataGrid的DataSource可以指定列名,不记得DataGrid可以有自己的列名,不知道我的理解是否正确。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也就是绑定列的DataField属性已知的情况下,如何得到该绑定列?我要写一些通用代码,必须得到的,谢谢! dataset1.Tables["表名"].Columns["列名"].ColumnName="姓名"; 楼上的正确,你怎么知道列名?你知道的只是该列绑定的数据源中的一个名,如果你要得到某一列的值,可以在ItemBound事件中用e.Item.Cells[i].Text.ToString() 我是通过制作好的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["列名"]这种的方法实现呢?谢谢大家回答 echoofice(echo) 说得对,你必须要根据你的数据源来找,而不能到DataGrid里找 ->得到DataGrid中的编缉的数据难道只能用->String colvalue =((TextBox)E.Item.Cells[i].Controls[0]).Text;这种方法吗?不对,如果你的DataGrid里没有重复的Id的编辑控件的话可以直接用String colvalue =((TextBox)e.Item.FindControl("txtName")).Text; for(int i=0;i<DataGrid1.Columns.Count;i++){ BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i]; if(bCol.HeaderText=="列名") return i;}……DataGrid1.Columns[i].…… blackcatiii(ljh) :使用以下代码:String colvalue =((TextBox)e.Item.FindControl("txtName")).Text;出现未将对象引用设置到对象的实例错误,无法取出列值请再帮忙,谢谢! 现在我只想到用for(int i=0;i<DataGrid1.Columns.Count;i++){ BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i]; if(bCol.DataField=="列名") return i;}但是这样每取一列都必须对DATAGRID的所有列都做一次FOR循环,还是判断BOUNDCOLUMN,效率比较低呀 webconfig文件不能写&字符? 求解一个思路 点一个BUTTON打开一个网址怎么搞 addwithvalue的问题 asp.net动态添加button的事件的问题? 想问个简单的问题 int ID =(int)DataGrid1.DataKeys[(int)e.Item.ItemIndex]行不通急死人 我把一个按钮控件放在一个表格里(如下),怎样获取它的OnClick事件? iframe嵌入获取页面源码 请教一下jQuery Ajax动态添加单元格的问题 有ASP基础学ASP.NET会容易点吗? 数组??怎么回事?
我要写一些通用代码,必须得到的,谢谢!
通过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["列名"]这种的方法实现呢?谢谢大家回答
->String colvalue =((TextBox)E.Item.Cells[i].Controls[0]).Text;这种方法吗?
不对,如果你的DataGrid里没有重复的Id的编辑控件的话可以直接用
String colvalue =((TextBox)e.Item.FindControl("txtName")).Text;
{
BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i];
if(bCol.HeaderText=="列名")
return i;
}
……
DataGrid1.Columns[i].……
使用以下代码:
String colvalue =((TextBox)e.Item.FindControl("txtName")).Text;
出现未将对象引用设置到对象的实例错误,无法取出列值
请再帮忙,谢谢!
for(int i=0;i<DataGrid1.Columns.Count;i++)
{
BoundColumn bCol=(BoundColumn)DataGrid1.Columns[i];
if(bCol.DataField=="列名")
return i;
}
但是这样每取一列都必须对DATAGRID的所有列都做一次FOR循环,还是判断BOUNDCOLUMN,效率比较低呀