我用datagrid自带的这个功能但不知道每当点击按钮时,触发哪个事件。代码如下:
using System.Web.UI.HtmlControls;namespace SheQuGuanLi
{
/// <summary>
/// dataForm 的摘要说明。
/// </summary>
public class dataForm : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGridSheQuGuanLi;
protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
// string dir;
// dir = System.Web.HttpContext.Current.Server.MapPath("");
// System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection();
// cn.ConnectionString = @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source=""" + dir + @"\data\SheQuGuanLi.mdb"";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1";
returnConnection rc = new returnConnection();
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("select * from HuKouBu;",rc.getConnection());
System.Data.DataSet ds = new DataSet();
da.Fill(ds);
// cn.Close();
DataGridSheQuGuanLi.DataSource = ds;
DataGridSheQuGuanLi.DataBind();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.DataGridSheQuGuanLi.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGridSheQuGuanLi_PageIndexChanged);
this.DataGridSheQuGuanLi.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGridSheQuGuanLi_UpdateCommand);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void DataGridSheQuGuanLi_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGridSheQuGuanLi.CurrentPageIndex = e.NewPageIndex;
DataGridSheQuGuanLi.DataBind();
}
//下面的事件是datagrid的EditCommand事件生成的
public void DataGridSheQuGuanLi_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
                           //我在这设置了断点,但不管用,点按钮时根本没触发这个时间。
DataGridSheQuGuanLi.EditItemIndex = e.Item.ItemIndex;
} private void DataGridSheQuGuanLi_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGridSheQuGuanLi.EditItemIndex = e.Item.ItemIndex;
} }
}我很郁闷。望各位指教!

解决方案 »

  1.   

    事件初始化的语句没有,当然没反应了
    在里加上初始化语句
     private void InitializeComponent()
    {
    ....//原来的那些
    this.DataGridSheQuGuanLi.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGridSheQuGuanLi_EditCommand);
    }
      

  2.   

    /// <summary>
    /// Edit按钮按下,进入修改模式
    /// </summary>
    private void viewAdminGrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    viewAdminGrid.EditItemIndex = e.Item.ItemIndex;
    BindGrid();
    }/// <summary>
    /// Update按钮按下,更新选定行
    /// </summary>
    private void viewAdminGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    //从Session中获取ID号(此处涉及一个问题,即Edit按钮按下后,无法访问该隐藏列)
    DataView view = (DataView)Session["ds"];
    int AdminID = (int)view.Table.Rows[e.Item.ItemIndex]["ID"]; DropDownList lst = (DropDownList)viewAdminGrid.Items[e.Item.ItemIndex].Cells[3].FindControl("lstRole");
    MSBANK.BLL.AdminManagement bll = new MSBANK.BLL.AdminManagement(); bll.ModifyAdminRole( AdminID, 
    lst.SelectedValue,
    Session["Operator"].ToString(),
    Request.ServerVariables["REMOTE_ADDR"].ToString() ); //更新完毕,重新加载数据
    viewAdminGrid.EditItemIndex = -1;
    LoadData();
    }
    /// <summary>
    /// Cancel按钮按下,退出修改模式
    /// </summary>
    private void viewAdminGrid_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    viewAdminGrid.EditItemIndex = -1;
    BindGrid();
    }
    /// <summary>
    /// 删除指定的管理员
    /// </summary>
    private void viewAdminGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    //获取该行的ID号
    DataView view = (DataView)Session["ds"];
    int ID = (int)view.Table.Rows[e.Item.ItemIndex]["ID"]; if( ID.Equals(1) ) //admin帐户不能删除
    {
               Helper.ShowMessage("这个账号不能删除!");
    }
    else
    {
    MSBANK.BLL.AdminManagement bll = new MSBANK.BLL.AdminManagement();
    bll.DeleteAdmin( ID );
    LoadData();
    }
    }
      

  3.   

    to: keul(Amom)
        我加了还是没反应.
      

  4.   

    OnUpdateCommand="" OnCancelCommand="" OnEditCommand="" OnDeleteCommand=""
      

  5.   

    to: LoveCherry
    是在这里加吗?
    <asp:datagrid id="DataGridSheQuGuanLi" style="Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 80px" runat="server" Height="436px" Width="770px" EditItemIndex="0" AutoGenerateColumns="False" PageSize="8" AllowPaging="True">
    如果是,我加过不管用。
      

  6.   

    看看这个实例吧
    http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4
      

  7.   

    谢谢  LoveCherry(最讨厌你们这些要代码的了,一点技术含量都灭有) , 真是一语惊醒我梦中人。
    谢谢大家帮忙!!!