如何在datagrid中禁止删除某一行?
比如凡是符合第一列的值=1的行都不允许删除。最好在按delete的时候就进行阻止。 问题点数:20、回复次数:2Top
1 楼MyLf(不睡觉的鱼)回复于 2005-12-22 18:29:34 得分 0
做不到的。
除非你把allowdelete去掉,然后手工写删除的代码.
.net 2003的dataGrid是这样,不知.net 2005的GridView是如何。Top
2 楼singlepine(小山)回复于 2005-12-22 19:01:24 得分 0
//用js来判断是否可以被删除
function Delete(obj)
{
var objs;
var id = obj.id;
if(id!="")
{
var objs = obj.children;
}
if (objs[1].innerText!="1")
{
var deleteID='<%=btndelete.ClientID%>';
window.document.all(deleteID).click();//调用button事件
}
else
{
return;
}
}
//后台绑定,模板列里放过删除button
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.ID = "ItemID";
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((Button)di.Cells[2].Controls[0]).Attributes.Add("onclick","Delete(this);");
}
}
}
}Top