在DataGrid中加入模板列,在模板列添加一个ImageButton,怎样才能触发它的Click事件, 
使该行可以编辑啊?

解决方案 »

  1.   

    1、
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="&lt;img src=../../images/save.gif border=0 alt='保存'/&gt;"
    CancelText="&lt;img src=../../images/cancel.gif border=0 alt='取消'/&gt;" EditText="&lt;img src=../../images/edit.gif border=0 alt='编辑'/&gt;"></asp:EditCommandColumn>
      

  2.   

    2、
    ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
    ibtn.Attributes.Add("onclick","...")
      

  3.   

    请大哥说清楚些吧!在哪里添加
    ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
    ibtn.Attributes.Add("onclick","...")
    新手啊
      

  4.   

    在DataGrid中加入模板列,在模板列添加一个ImageButton,怎样才能触发它的Click事件, 
    使该行可以编辑啊?首先你的按钮的 commandname得设置为edit(这个是最简单的方法),然后在datagrid的editcommand来处理该按钮的单击事件!!!
      

  5.   

    1,2楼的方法是在itemdatabound事件里面来做,但是最重要的一部分没写完全
    3楼的则是盲从看都没仔细看就说正确,5楼的则是完全说错了如果你要用1。2楼的方法是要添加一个编辑更新列的!!!
    并且后面的onclick是要调用__dopostback方法
    你可以看看lovecherry是如何弄的 
     private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
                {
                    e.Item.Attributes.Add("onclick","__doPostBack('"+((LinkButton)e.Item.Cells[4].Controls[0]).ClientID.Replace("__","$_")+"','')");
                }
                if(e.Item.ItemType==ListItemType.EditItem)
                {
                    e.Item.Attributes.Add("ondblclick","__doPostBack('"+((LinkButton)e.Item.Cells[5].Controls[0]).ClientID.Replace("__","$_")+"','')");
                    for(int i=0;i<4;i++)((TextBox)e.Item.Cells[i].Controls[0]).Attributes.Add("onmouseover","this.select()");
                }
            }from  :http://www.cnblogs.com/lovecherry/archive/2005/05/15/155831.html
      

  6.   

    在DataBound 中加
    private void grdwenben_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
    {
    ImageButton ibtn = (ImageButton)e.Items.Cell[i].FindControl("ibtn.ID");
    ibtn .Click += new System.Web.UI.ImageClickEventHandler(ibtn_Click);
     }
    }
    然后在外加一个事件处理的 
    private void ibtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {

    }
    在里面写处理就应该OK拉
      

  7.   

    1,2楼的方法是在itemdatabound事件里面来做,但是最重要的一部分没写完全
    3楼的则是盲从看都没仔细看就说正确,5楼的则是完全说错了-----------------------如果仅仅是在DataGrid里面实现编辑修改,那么第一个方法就足够了,不是么?
      

  8.   

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
            {
                if(e.CommandName=="edit")
                {
                    this.DataGrid1.EditItemIndex=e.Item.ItemIndex;
                    SetBind();
                }我用这个方法可以实现,但还是有问题啊!在分页的时候点击第二页就出错了啊!!