上次开了个帖没解决,或是我没说清楚,新开个帖希望大家帮忙---是关于DataGrid中CheckBox的问题 (代码如下:) CheckBox cb=(CheckBox)item.Cells[0].Controls[0].FindControl("CB"); 式式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected void ItemDataBound_Command(object sender,DataGridItemEventArgs e) //生成CheckBox控件 { if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem) { CheckBox cb=new CheckBox(); cb.ID="CB"; e.Item.Cells[0].Controls.Add(cb); } }这块没行都有checkbox那ID都是一个吗 不使用ItemDataBound事件,使用ItemCreated事件把相应的代码转移到ItemCreated事件里面即可ItemDataBound实在绑定时触发,ItemCreated实在创建时触发我估计按钮的Click事件在绑定事件之前触发,所以checkbox控件还没创建起来测试成功!!!! TO:楼上的兄弟我用了你的方法,当一进入页面时并没有出现CheckBox,只有点击了"删除"按钮后也就是触发回送事件后才会出现CheckBox,可不可以一进入页面就出现CheckBox呢 renrengqq说的对,至于你最后的问题,只要在Page_Load里执行一次创建CheckBox就行了还有item.Cells[0].Controls[0]用的太麻烦用这个吧item.FindControl("CB")搞定 To:anmeier(三人行) 你说的:==只要在Page_Load里执行一次创建CheckBox就行了怎么操作呢 在两个事件里面都放置代码我发现ItemDataBound在DataBind时会被触发而每次点击按钮将触发ItemDataCreat事件,而不触发ItemDataBound事件正好满足你的需求 private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem) { CheckBox cb=new CheckBox(); cb.ID="CB"; e.Item.Cells[0].Controls.Add(cb); } } private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { DataGrid1_ItemCreated(sender,e); }这样写可能就行了 请教DataPager的用法 用SlideTrans 做图片滑动,在IE下aspx能滑动,ascx就不能滑动,,火狐能切换,求救!! 菜鸟寻求帮助 通过菜单弹出子窗体时问题求解 LinkButton 绑定问题 如何写一个可以任意增长宽度和深度的树 大家快帮忙,在线等!!!!!!!!!!!!!!!!! 在datagrid模板列中的修改、删除问题,在线等!急 mvc 中使用强类型绑定普通元素 请教webdiyer一个关于您的控件使用的问题? 非常急在线等!!! 求年月日的正则表达式
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBox cb=new CheckBox();
cb.ID="CB";
e.Item.Cells[0].Controls.Add(cb);
}
}
这块没行都有checkbox那ID都是一个吗
把相应的代码转移到ItemCreated事件里面即可ItemDataBound实在绑定时触发,ItemCreated实在创建时触发我估计按钮的Click事件在绑定事件之前触发,所以checkbox控件还没创建起来
测试成功!!!!
我用了你的方法,当一进入页面时并没有出现CheckBox,只有点击了"删除"按钮后也就是触发回送事件后才会出现CheckBox,
可不可以一进入页面就出现CheckBox呢
还有item.Cells[0].Controls[0]用的太麻烦用这个吧item.FindControl("CB")搞定
你说的:==只要在Page_Load里执行一次创建CheckBox就行了怎么操作呢
我发现ItemDataBound在DataBind时会被触发而每次点击按钮将触发ItemDataCreat事件,而不触发ItemDataBound事件正好满足你的需求
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBox cb=new CheckBox();
cb.ID="CB";
e.Item.Cells[0].Controls.Add(cb);
} } private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataGrid1_ItemCreated(sender,e);
}
这样写可能就行了