急!有点难度!!关于Datagrid模版列中控件的事件触发的问题????? DataGrid2的绑定是在另一个Button的Click事件中的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要搞清楚这个问题 首先要明白 DataGrid2_ItemDataBound()是啥时候触发的。DataGrid2_ItemDataBound只有在 datagird2执行databind事件的时候才被调用。而databind事件 一般只在 第一次get的时候才做,post的时候是不做的。checkbox打勾是一次post操作,那么这时DataGrid2_ItemDataBound是不执行的既然这样 dw.CheckedChanged += new System.EventHandler(this.chkContainerNum_CheckedChanged);也没有执行,也就是说 你个checkbox打勾,可是checkbox却没有事件,当然不会变化咯 建议看看sdk里面 控件的执行周期和 事件模型另外 别忘了给分我。 问题解决拉直接事件绑定到页面上就可以拉<asp:CheckBox id="chkContainerNum" runat="server" ForeColor="Transparent" BackColor="Transparent"BorderColor="Transparent" AutoPostBack="True" OnCheckedChanged="chkContainerNum_CheckedChanged"></asp:CheckBox>正如fumade(海盗)所说在函数DataGrid2_ItemCreated写注册事件是不对的,不过函数chkContainerNum_CheckedChanged作了一些修改如下:protected void chkContainerNum_CheckedChanged(object sender, System.EventArgs e) { for(int i=0;i<this.DataGrid2.Items.Count;i++) { if(((CheckBox)DataGrid2.Items[i].FindControl("chkContainerNum")).Checked == true) { ((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Enabled = true ; ((TextBox)(DataGrid2.Items[i].FindControl("TB"))).BackColor = Color.Transparent; } if(((CheckBox)DataGrid2.Items[i].FindControl("chkContainerNum")).Checked == false) { ((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Enabled = false ; ((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Text = null; ((TextBox)(DataGrid2.Items[i].FindControl("TB"))).BackColor = Color.WhiteSmoke; } } } 【抛砖引玉】画渐变矩形 请教一个线程安全问题 webBrowser可不可以用其他浏览器打开? 三层模型中的关闭数据库连接的过程应该放在哪里? vs2005网站下面的目录怎么排除掉? 调用Vc的DLL函数的问题(大家请进) 使用vs.net 2003开发用于PPC的“智能设备应用程序”,怎样将dataGrid联接到SQL Server数据库? 请教DATATABLE的问题. 请教,如何才能设计出类似outlook这样的界面? 谢谢 C#:新增数据保存成功更新另一窗口dategridview显示 找个打羽毛球的朋友都没有,郁闷! 请教各位大侠,引入word10之后,怎样取得当前的页的页码?
DataGrid2_ItemDataBound只有在 datagird2执行databind事件的时候才被调用。
而databind事件 一般只在 第一次get的时候才做,post的时候是不做的。checkbox打勾是一次post操作,那么这时DataGrid2_ItemDataBound是不执行的
既然这样 dw.CheckedChanged += new System.EventHandler(this.chkContainerNum_CheckedChanged);
也没有执行,也就是说 你个checkbox打勾,可是checkbox却没有事件,当然不会变化咯 建议看看sdk里面 控件的执行周期和 事件模型
另外 别忘了给分我。
正如fumade(海盗)所说在函数DataGrid2_ItemCreated写注册事件是不对的,不过函数chkContainerNum_CheckedChanged作了一些修改如下:protected void chkContainerNum_CheckedChanged(object sender, System.EventArgs e)
{
for(int i=0;i<this.DataGrid2.Items.Count;i++)
{
if(((CheckBox)DataGrid2.Items[i].FindControl("chkContainerNum")).Checked == true)
{
((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Enabled = true ;
((TextBox)(DataGrid2.Items[i].FindControl("TB"))).BackColor = Color.Transparent;
}
if(((CheckBox)DataGrid2.Items[i].FindControl("chkContainerNum")).Checked == false)
{
((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Enabled = false ;
((TextBox)(DataGrid2.Items[i].FindControl("TB"))).Text = null;
((TextBox)(DataGrid2.Items[i].FindControl("TB"))).BackColor = Color.WhiteSmoke;
}
}
}