如何在datagrid中禁止删除某一行?

楼主free_xixi(free_xixi)2005-12-22 17:43:55 在 .NET技术 / C# 提问

比如凡是符合第一列的值=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

你可能对以下的问题也比较感兴趣....