该事件只能由客户端响应,使用客户端编程语言,如javascript即可实现

解决方案 »

  1.   

    有的!例如Itembound,模板列,等等都可以添加的!
      

  2.   

    是winform 还是 web 下
    如果是winform下的话可以实现
      

  3.   

    web
    在ItemDatabound事件里写javascript代码。
    在生成datagrid列时ItemDataBound触发,也就是说每生成一列就触发一次。这个事件的触发要早于itemcommand.一般用来给列里的控件加入客户端事件。
    例:
    private void dgd_temp_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    LinkButton btn_del;
             if(e.Item.ItemType ==  ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    btn_del = (LinkButton)e.Item.FindControl("btn_del");
    btn_del.Attributes.Add("onclick","return confirm('你真的要删除吗?');");
    }
    }
      

  4.   

    datagrid里有Itemcommand事件,你用模板列,
    在模板里加Button,当点击会产生itemcommand事件。
    注意:page_load里必须写
    if(!page.ispostback)
    {
    ..........
    }
      

  5.   

    caiyajun512(小秀) 说的很接近了,可我刚学.net,不太明白
    btn_del.Attributes.Add(  "onclick  ",  "return  confirm('你真的要删除吗?');  ");  
    这句怎么才能触发我写的一个函数OnClick()。能说明白点吗?谢谢!
      

  6.   

    以下参考:System.Windows.Forms.DataGrid.HitTestInfo hti;
    hti = myGrid.HitTest(e.X, e.Y);switch (hti.Type) 
            {
                //点击某个单元格响应下面的代码
              case System.Windows.Forms.DataGrid.HitTestType.Cell :            //当按下鼠标的左键的时候,可以有深蓝色选当前的一行
                dataGridBrowse.CurrentCell = new DataGridCell(hti.Row, hti.Column);             dataGridBrowse.Select(hti.Row); 
               
                break;            //点击标题栏实现排序操作
              case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader :
                //当点击dataGrid表的标题栏的时候        
                break;          default:
                break;
            }
      

  7.   

    忘了,是在MouseDown事件下:
    private void dataGridBrowse_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    }