DataGrid模版列取TextBox的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:32:47
TextBox txtbox = ((TextBox)e.Item.Cells[0].Controls[0].FindControl("TextBox1"));
//string Name = ((TextBox)this.DataGrid2.FindControl("TextBox1")).Text;
//TextBox txtbox = (TextBox)e.Item.FindControl("TextBox1");
//TextBox txtbox = ((TextBox)e.Item.Cells[0].FindControl("TextBox1"));
// TextBox txtbox = (TextBox)this.DataGrid2.Items[e.Item.ItemIndex].Cells[0].FindControl("TextBox1");
// TextBox tb;
// tb = ((TextBox)e.Item.FindControl("TextBox1"));
用了这么多方法 均失败
我的事件是写在编辑更新里
我不想用foreach循环

2楼,意思是不错,可这些方法我全都试过了,全不行呀!!DataGrid里我只绑定了一列

哈哈问题在补充,意思总于是有点了啊.
那可能是你绑定时差点东西
DataGrid1.DataKeyField="";//主键列或你想用到的列,也就是下面你修改时所用到的条件
然后在DataGrid.DataSource = ds;
在不行的话我给你发个例子,很简单的,你一看就会.

--------------------------------------------
问题补充
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string empID = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string city = ((TextBox)e.Item.FindControl("TextBox1")).Text;
mydb.Update(city,empID);//这里是修改方法自己写.
DataGrid1.EditItemIndex = -1;
DataListDataBind();//这里是重新更新绑定数据集,自己写.
}

是不是这个意思?
------------------------------------------
TextBox CountText = (TextBox)this.DataGrid1.Items[i].FindControl("TextBox1");
string aa = CountText.Text;

我这边已经测试通过了,你怎么会不行?
你的代码放在哪个方法里?
是:
protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
吗?