我初学,为什么把按钮列中的按钮换成Button或ImageButton就不能引发,Edit事件了呢?我已经写CommandName=Edit了??

解决方案 »

  1.   

    不是都Button列没有自己用模板列啊?
      

  2.   

    可以滴,只要了正确设置了CommandName
      

  3.   

    估计是事件与对应函数脱钩了,看看DataGrid属性窗口中的事件EditCommand\UpdateCommand\DeketeCommand是否指向了正确的函数.
      

  4.   

    据我所知,你还是看看你的command,如果是origin版的,经常会这样,555555555,我不得不自己手工写
      

  5.   

    可以用 Button的  设置一下 CommandName 就行了   在EditCommand事件里就能捕捉到 
    if(e.CommandName == "设置的值")
    {
    //..........
    }
      

  6.   

    这个没有问题,用什么按钮没有任何关系,给你一段示例代码,是使用imagebutton的。
    aspx:
    <asp:datagrid id="dgList" runat="server" Width="100%" CssClass="datagrid" AutoGenerateColumns="False"
    CellPadding="3" BorderColor="#003366" BackColor="White" AllowSorting="True">
    <AlternatingItemStyle BackColor="#EFF5FB"></AlternatingItemStyle>
    <ItemStyle HorizontalAlign="Left" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#6699CC"></HeaderStyle>
    <Columns>
    <asp:BoundColumn Visible="False" DataField="ID" HeaderText="ID"></asp:BoundColumn>
    <asp:BoundColumn DataField="InputDate" HeaderText="日期">
    <HeaderStyle Width="70px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShiftDesc" HeaderText="班次">
    <HeaderStyle Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Auditor" HeaderText="Auditor">
    <HeaderStyle Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="FloorDesc" HeaderText="楼层">
    <HeaderStyle Width="20%"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="LineDesc" HeaderText="拉号">
    <HeaderStyle Width="20%"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Series" HeaderText="系列">
    <HeaderStyle Width="25%"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Model" HeaderText="MODEL">
    <HeaderStyle Width="35%"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="PN80" HeaderText="80 P/N">
    <HeaderStyle Width="90px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn HeaderText="查看">
    <HeaderStyle Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <IMG id="btnView" style="CURSOR: hand" alt="" src="../../CommonFiles/Images/btnView.gif"
    width="54" runat="server">
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="修改">
    <HeaderStyle HorizontalAlign="Center" Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:ImageButton id="btnEdit" runat="server" ImageUrl="../../CommonFiles/Images/btnEdit.gif" CommandName="Update"></asp:ImageButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="删除">
    <HeaderStyle HorizontalAlign="Center" Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:ImageButton id="btnDelete" runat="server" ImageUrl="../../CommonFiles/Images/btnDelete.gif"
    CommandName="Delete"></asp:ImageButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle Visible="False"></PagerStyle>
    </asp:datagrid>cs:
    private void dgList_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
        if (e.CommandName == "Update")  //修改事件
        {
            //设置页面的状态为“修改状态”
            ViewState["State"] = "EDIT";        //记录ID
            int iID = Int32.Parse(e.Item.Cells[0].Text);
            ViewState["ID"] = iID;        SMD_GluewaterClingLogic logSMD_GluewaterCling = new SMD_GluewaterClingLogic();
            DataGroup dgGluewaterCling = logSMD_GluewaterCling.Select(iID);        if ((dgGluewaterCling == null) || (dgGluewaterCling.Table.Rows.Count == 0))
            {
                CommonFiles.CommonFunc.ShowMessage(this, "", "获取数据失败,请稍后再试!");            this.btnCancel_Click(null, null);
            }
            else
            {            //日期
                this.txtDate.Text = dgGluewaterCling.Table.Rows[0]["InputDate"].ToString();            //班次
                this.ddlShift.SelectedIndex
                    = this.ddlShift.Items.IndexOf(this.ddlShift.Items.FindByValue(dgGluewaterCling.Table.Rows[0]["Shift"].ToString()));            //Auditor
                this.txtAuditorNo.Text = dgGluewaterCling.Table.Rows[0]["AuditorNo"].ToString();
                this.txtAuditor.Text = dgGluewaterCling.Table.Rows[0]["Auditor"].ToString();            //楼层、拉号
                if (this.ddlFloor.Items.Count > 0)
                {
                    this.ddlFloor.SelectedIndex
                        = this.ddlFloor.Items.IndexOf(this.ddlFloor.Items.FindByValue(dgGluewaterCling.Table.Rows[0]["FloorID"].ToString()));                this.BindLine(Int32.Parse(this.ddlFloor.SelectedValue));
                    this.ddlLine.SelectedIndex
                        = this.ddlLine.Items.IndexOf(this.ddlLine.Items.FindByValue(dgGluewaterCling.Table.Rows[0]["LineID"].ToString()));
                }            //80, 50
                this.txtPN80.Text = dgGluewaterCling.Table.Rows[0]["PN80"].ToString();
                this.txtPN50.Text = dgGluewaterCling.Table.Rows[0]["PN50"].ToString();
                this.txtSeries.Text = dgGluewaterCling.Table.Rows[0]["Series"].ToString();
                this.txtModel.Text = dgGluewaterCling.Table.Rows[0]["Model"].ToString();            //测试时间
                this.txtTestTime.Text = dgGluewaterCling.Table.Rows[0]["TestTime"].ToString();            //测试物料参数
                this.BindTestMaterial(iID);            //备注
                this.txtRe.Text = dgGluewaterCling.Table.Rows[0]["Re"].ToString();
            }
        }
        else if (e.CommandName == "Delete")  //删除事件
        {
            //得到需要删除的ID
            int intID = Int32.Parse(e.Item.Cells[0].Text.Trim());        bool blnReturn = new SMD_GluewaterClingLogic().Delete(intID);
            if (blnReturn) //删除成功
            {
                CommonFiles.CommonFunc.ShowMessage(this, "", "删除胶水附着力检测报表成功!");            //重置页面
                this.btnCancel_Click(null, null);            //刷新数据
                this.PageClick(null, null);
            }
            else
            {
                CommonFiles.CommonFunc.ShowMessage(this, "", "删除胶水附着力检测报表失败,请重试!");
            }
        }
    }
      

  7.   

    真是不好意思,才起来,6点才睡,我没有解决这个问题,所以用曲线救国的方法,在LinkButton中用了Css,大概能用了。散分。