一个关于datagrid的简单问题!~~~~

errorkiss 2004-12-23 06:10:35
我在datagrid里添加了一个按钮列删除(在整个的第7列),我想实现点击删除的时候弹出确认对话框。我的程序如下:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType != ListItemType.Header || e.Item.ItemType != ListItemType.Footer)
{
LinkButton mydelete = (LinkButton)e.Item.Cells[6].Controls[0];
mydelete.Attributes.Add("onClick","javascript:return confirm('删除?')");
}
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//实现真正的删除。。。。。。。
}
在编译通过后,在数据绑定的时候报错。(因为在绑定每条记录时触发onItemDataBound事件)“/datagridbind”应用程序中的服务器错误。
--------------------------------------------------------------------------------

指定的参数已超出有效值的范围。参数名: index
我数了好多遍,是第七列没问题。用e.Item.Cells[6].Controls[1];也一样报错误!~
请问哪为大虾可以告诉小弟啊!~~在此先感谢了!~~~~
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
errorkiss 2004-12-27
  • 打赏
  • 举报
回复
的确啊,谢谢 Jinpanxu(浪)。^_^
Jinpanxu 2004-12-24
  • 打赏
  • 举报
回复
if (e.Item.ItemType != ListItemType.Header || e.Item.ItemType != ListItemType.Footer)
只要將這句话改成
if(e.Item.ItemIndex>-1)
errorkiss 2004-12-23
  • 打赏
  • 举报
回复
它没id啊,怎么用e.item.findcontrol()呢?
我用的是按钮列,不是摸版列。
postfix2 2004-12-23
  • 打赏
  • 举报
回复
private void DataGrid2_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if((LinkButton)e.Item.FindControl("delButton")!=null)
((LinkButton)e.Item.FindControl("delButton")).Attributes["OnClick"] = "javascript:return(confirm('你确定要删除当前行吗?'))";
}

在ItemCreated里面加

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧