如何访问GridView模板中的控件? 问题如上,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在RowDataBound事件里,用row.FindControl("控件ID")来访问你模板列里面的控件。 (转换对应的控件)GridView1.FindControl("控件名").属性/方法 请问是这样吗?protected void gv_RowDataBound(object sender, GridViewRowEventArgs e){ e.Row.FindControl("ddlCouName");}那怎么进行强制转换,转换后怎么给这个控件赋值?例如我在模板里添加了DropDownList控件,想给Items赋值,具体怎么操作,能不能给些提示? 例如这样的吗?((DropDownList)(GVUsers.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1"))).SelectedValue.ToString() 总是提示未将对象引用设置到对象的实例,疯了……我把添加Item的代码放在Row_Editing事件里,可以吗? 比如TextBox tex=(TextBox)Gridview1.Rows[0].FindControl("TextBox1"); 应该在这个事件里(object sender, GridViewUpdateEventArgs e) protected void GVUser_RowUpdating(object sender, GridViewUpdateEventArgs e) { string strUUserName = ""; string strUCUserName = ""; int intUOpen = 0; strUUserName = ((TextBox)(GVUsers.Rows[e.RowIndex].Cells[1].Controls[1])).Text.ToString().Trim(); strUCUserName =((TextBox)(GVUsers.Rows[e.RowIndex].Cells[2].Controls[1])).Text.ToString().Trim(); intUOpen = int.Parse(((DropDownList)(GVUsers.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1"))).SelectedValue.ToString()); int intKeyName=int.Parse(GVUsers.DataKeys[e.RowIndex]["user_id"].ToString().Trim()); try { SZMEDIBUSINESSLOGIC.User.updateUserName(strUUserName, strUCUserName, intUOpen, intKeyName); LBAddResult.Text = "修改" + GVUsers.Rows[e.RowIndex].Cells[1].Text.Trim() + "成功!"; } catch (Exception ER) { LBAddResult.Text += " " + ER.Message; } GVUsers.EditIndex = -1; GVUersVoid(); } 真正难的正是取出,给模板中的控件赋值,根本不用任何代码,直接 Text=<%#Eval("XXX")%>就搞定了. 现在我是想用GridView做一个类似的课程表的事情。在我点击编辑的时候就会在列“课程名称”中显示出DropDownList控件,里面添加好了来自数据库的选项。如果在Updating下有点来不及 http://blog.csdn.net/xianfajushi/archive/2008/11/30/3413317.aspx 我倒,我看你前面说的不就是找到控件吗?那就用bwangel的方法,后台绑定,前台取,用<%# Eval("数据")%>,或者<%# DataBinder.Eval(Container.DataItem,"数据")%>, 请问赋值具体怎么实现,我是ASP.NET新手,不太懂,请教教我。现在说一下我想做的事情:把gv中将列“课程名称”设置为模板列,在ItemTemplate和EditItemTemplate中分别用上一个Label和一个DropDownList。在每次点每行中的“编辑”链接时,DropDownList会显示并且其Items属性中赋上来自数据库的数据选项。 可是DropDownList的Items属性值是来自数据库的呀,并且里面的值会随着其它控件值的变化而变化…… http://topic.csdn.net/u/20090204/09/b181a591-279f-47b3-b5bd-2ad2c5fef402.html?29967 关于正则表达式方面的问题 急用!!! 求教高手 急。A generic error occurred in GDI+. 紧急!!! 误删VSS 大家看看这样能否关闭数据库 关于网页间数据传送的问题 兄弟帮我看看哪里不对了! 请问在Microsoft Visual Studio .NET 2003中如何能更好的实现前后台相互调用 两个很小的问题,但我没能解决!!!!!! 一个小问题;望高手指教 二进制的问题 ASP.NET怎样自动发邮件
请问是这样吗?protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.FindControl("ddlCouName");
}那怎么进行强制转换,转换后怎么给这个控件赋值?
例如我在模板里添加了DropDownList控件,想给Items赋值,具体怎么操作,能不能给些提示?
((DropDownList)(GVUsers.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1"))).SelectedValue.ToString()
我把添加Item的代码放在Row_Editing事件里,可以吗?
protected void GVUser_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string strUUserName = "";
string strUCUserName = "";
int intUOpen = 0;
strUUserName = ((TextBox)(GVUsers.Rows[e.RowIndex].Cells[1].Controls[1])).Text.ToString().Trim();
strUCUserName =((TextBox)(GVUsers.Rows[e.RowIndex].Cells[2].Controls[1])).Text.ToString().Trim();
intUOpen = int.Parse(((DropDownList)(GVUsers.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1"))).SelectedValue.ToString());
int intKeyName=int.Parse(GVUsers.DataKeys[e.RowIndex]["user_id"].ToString().Trim());
try
{
SZMEDIBUSINESSLOGIC.User.updateUserName(strUUserName, strUCUserName, intUOpen, intKeyName);
LBAddResult.Text = "修改" + GVUsers.Rows[e.RowIndex].Cells[1].Text.Trim() + "成功!";
}
catch (Exception ER)
{
LBAddResult.Text += " " + ER.Message;
}
GVUsers.EditIndex = -1;
GVUersVoid();
}
真正难的正是取出,给模板中的控件赋值,根本不用任何代码,直接 Text=<%#Eval("XXX")%>就搞定了.
那就用bwangel的方法,后台绑定,前台取,用<%# Eval("数据")%>,或者<%# DataBinder.Eval(Container.DataItem,"数据")%>,
请问赋值具体怎么实现,我是ASP.NET新手,不太懂,请教教我。
现在说一下我想做的事情:把gv中将列“课程名称”设置为模板列,在ItemTemplate和EditItemTemplate中分别用上一个Label和一个DropDownList。在每次点每行中的“编辑”链接时,DropDownList会显示并且其Items属性中赋上来自数据库的数据选项。
可是DropDownList的Items属性值是来自数据库的呀,并且里面的值会随着其它控件值的变化而变化……