如何单击datagrid取得一行某字段的值 我想把这个值赋给一个变量,应该是在datagrid1_ItemDataBound事件中写吧?还有,怎么样才能让datagrid在数据绑定的情况下,规范的让某列只显示两个字符?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在datagrid的ItemCommand事件中。当点击这一行的按钮时。记得按钮的CommandName要设置,例如设置为aif(e.CommnandName=="a"){ string str = ((Lable)e.Item.FindControl("id")).Text}只显示两个字符:前代码绑定例如是个lablelbl.text=<%# SubString(((DataRowView)Container.DataItem)["title"])%>//title为数据库表的列名 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType==ListItemType.Item|| e.Item.ItemType==ListItemType.AlternatingItem) { HyperLink hp =(HyperLink ) e.Item.Cells[2].Controls[0]; if( hp != null) { e.Item.Cells[2].ToolTip=hp.Text; hp.Text=(hp.Text.Length>8?hp.Text.Substring(0,8):hp.Text); } } } 得到某一行的值1:在DataGrid的模版列中有一个 LinkButton(比如这个控件的text里的值为"查看") 在其ItemCommand事件上 string Type = ((LinkButton)e.CommandSource).Text; if(Type == "查看") { 执行代码 }2:如果只是想得到DataGrid的普通项值 那么在绑定DataGrid以后,用如下方法: for(int i = 0; i<this.MyDataGrid.Items.Count; i++) { if(this.MyDataGrid.Items[i].Cells[5].Text == "新信息") { this.MyDataGrid.Items[i].BackColor = Color.Red; } } 其中Cells[5]表示DataGrid你要查找的列所在的位置, "新信息"表示该列的值 或者,如果你想直接得到DataGrid某一列的值,可以在ItemCommand事件上通过((LinkButton)e.Item.Cells[0].Controls[0]).Text)----表示DataGrid当前的触发行的第一个列的第一个控件内的值得到.另外你说的,在绑定以后如何想显示你所需求的字符数的方法,就和平时你截取字符串的做法几乎是一样的,如果你上面的看懂了,这个问题就很容易解决了 还有一种方法结合一个CHECKBOXfor(int i=0;i<datagird1.items.count;i++){ CheckBox aa= (CheckBox)datagrid1.items[i].cells[0].findcontrol("CheckBox1"); if(aa.Checked) { int id=int.parse(datagrid1.items[i].cells[1].text.ToString()); }} 在表格里显示新闻列表,不用控件。。。 谁帮我看看 JS 错误 代码0 这是小妹做的第一个项目,希望大家能给点思路!急急!!! 在网上哪有卖素材库的? 求助。我写了个存储过程。得到这样的结果。我在ASP.NET中怎么取到这个结果呢? 当为空行时,取得值不正确?求大家帮帮我,谢谢 一个非常奇怪的现象,请高手帮帮忙吧!!! 如何绑定boolean型的值 编译器错误消息: ASPNET: 请确保此代码文件中定义的类与“inherits”特性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正 高分求解?????? datagrid问题
当点击这一行的按钮时。记得按钮的CommandName要设置,例如设置为a
if(e.CommnandName=="a")
{
string str = ((Lable)e.Item.FindControl("id")).Text
}只显示两个字符:
前代码绑定
例如是个lable
lbl.text=<%# SubString(((DataRowView)Container.DataItem)["title"])%>//title为数据库表的列名
{
if(e.Item.ItemType==ListItemType.Item|| e.Item.ItemType==ListItemType.AlternatingItem)
{
HyperLink hp =(HyperLink ) e.Item.Cells[2].Controls[0];
if( hp != null)
{
e.Item.Cells[2].ToolTip=hp.Text;
hp.Text=(hp.Text.Length>8?hp.Text.Substring(0,8):hp.Text);
}
}
}
1:在DataGrid的模版列中有一个 LinkButton(比如这个控件的text里的值为"查看")
在其ItemCommand事件上
string Type = ((LinkButton)e.CommandSource).Text;
if(Type == "查看")
{
执行代码
}
2:如果只是想得到DataGrid的普通项值 那么在绑定DataGrid以后,用如下方法:
for(int i = 0; i<this.MyDataGrid.Items.Count; i++)
{
if(this.MyDataGrid.Items[i].Cells[5].Text == "新信息")
{
this.MyDataGrid.Items[i].BackColor = Color.Red;
}
}
其中Cells[5]表示DataGrid你要查找的列所在的位置, "新信息"表示该列的值
或者,如果你想直接得到DataGrid某一列的值,可以在ItemCommand事件上通过((LinkButton)e.Item.Cells[0].Controls[0]).Text)----表示DataGrid当前的触发行的第一个列的第一个控件内的值得到.另外你说的,在绑定以后如何想显示你所需求的字符数的方法,就和平时你截取字符串的做法几乎是一样的,如果你上面的看懂了,这个问题就很容易解决了
for(int i=0;i<datagird1.items.count;i++)
{
CheckBox aa= (CheckBox)datagrid1.items[i].cells[0].findcontrol("CheckBox1");
if(aa.Checked)
{
int id=int.parse(datagrid1.items[i].cells[1].text.ToString());
}
}