在一个名为dg的DataGrid里面添加一个模板列 取名为“自定义删除”
然后编辑这个模板:拖一个按钮放在ItemTemplate里面
然后在dg的ItemCreated事件里有如下代码:
switch(e.Item.ItemType)
{
    case ListItemType.Item:
    case ListItemType.EditItem:
    case ListItemType.AlternatingItem:
        Button myBtnDel=(Button)e.Item.FindControl("btnDel");
        myBtnDel.Text="删除此行";
        myBtnDel.Attributes.Add("onclick","return confirm('您真的要删除第"+e.Item.ItemIndex.ToString()+"行吗?');");
        break;
}
上面的代码我不明白 什么用。
三个case是层层深入的,还是并列关系的?我觉得好像层层深入的吧。经过三个case之后,得出的结果是什么?
为什么要这样来判断?用IF不行吗?

解决方案 »

  1.   

    是并列的,相当于if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.EditItem||
    e.Item.ItemType==ListItemType.AlternatingItem)
    {Button myBtnDel=(Button)e.Item.FindControl("btnDel"); 
            myBtnDel.Text="删除此行"; 
            myBtnDel.Attributes.Add("onclick","return confirm('您真的要删除第"+e.Item.ItemIndex.ToString()+"行吗?');"); 
    }
      

  2.   

    三个case是层层深入的,还是并列关系的?
    ==
    并列
      

  3.   

    是并列关系 当然也可以使用if 我感觉用if还更直观些