大家看看,这是怎么回事啊(解决马上给分)
我在datagrid里面新增了2个按钮列,一个是选择,一个是删除.可是现在我不管按选择还是删除都是执行选择的代码,如果吧选择的代码去掉了才执行删除的代码:
代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace HomeSite
{
/// <summary>
/// Webjsqk 的摘要说明。
/// </summary>
public class Webjsqk : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DataGrid Dg_blxw;
private void Page_Load(object sender, System.EventArgs e)
{
Dg_blxw.DataSource = Ds();
Dg_blxw.DataBind();
if(Convert.ToInt32(Session["flag"])==1)
{
Button1.Enabled = false;
}
}
public DataSet Ds()
{
string Tj = Session["cmdID"].ToString();
string Sql;
Sql = "select * from ComRewardTb where ComID = '"+Tj+"'";
connClass conn = new connClass();
DataSet DS = new DataSet();
SqlDataAdapter Adapter = new SqlDataAdapter(Sql,conn.Conn());
SqlCommandBuilder Builder = new SqlCommandBuilder(Adapter);
Adapter.Fill(DS,"ComRewardTb");
return DS;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Dg_blxw.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Dg_blxw_ItemCommand);
this.Dg_blxw.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Dg_blxw_DeleteCommand);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Dg_blxw_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string Tj = Session["cmdID"].ToString();
string Sql;
Sql = "select * from ComRewardTb where ComID = '"+Tj+"'";
connClass conn = new connClass();
DataSet DS = new DataSet();
SqlDataAdapter Adapter = new SqlDataAdapter(Sql,conn.Conn());
SqlCommandBuilder Builder = new SqlCommandBuilder(Adapter);
Adapter.Fill(DS,"ComRewardTb");
int Num = (int)e.Item.ItemIndex;
DS.Tables["ComRewardTb"].Rows[Num].Delete();
Adapter.Update(DS,"ComRewardTb");
Dg_blxw.DataSource = DS.Tables["ComRewardTb"];
Dg_blxw.DataBind();
}
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Redirect("Webjsqkadd.aspx");
}
private void Dg_blxw_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int Num;
TableRow tr=e.Item;
Num = Convert.ToInt32(tr.Cells[0].Text);
Response.Redirect("Webjsqkadd.aspx?autoid=" + Num + "&state=1");
}
}
}
问题点数:100、回复次数:6Top
1 楼minghui000(沉迷网络游戏)回复于 2004-11-04 14:11:21 得分 10
up + 接分 + 学习Top
2 楼swzlxm(守望者)回复于 2004-11-04 14:11:52 得分 20
这么长不想看,给你写几句,问题就能解决:
增加接钮:把按钮的COMMANDNAME属性设为"?????";
在DATAGRID的ITEM_COMMAND事件里:
IF (E.COMMANDNAME=="?????")
{
........
}
ELSE IF(E.COMMANDNAME=="??????")
{
............
}Top
3 楼fangwancong(聪头.珠海)回复于 2004-11-04 14:13:57 得分 20
ItemCommand事件中加入:
if ( e.CommandName == "Select")
{
//*******
执行选择的代码
********//
}Top
4 楼guying999(求知)回复于 2004-11-04 14:15:15 得分 20
参考:
http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4Top
5 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-11-04 14:18:13 得分 20
private void Dg_blxw_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.commandname=="Delete")
{
int Num;
TableRow tr=e.Item;
Num = Convert.ToInt32(tr.Cells[0].Text);
Response.Redirect("Webjsqkadd.aspx?autoid=" + Num + "&state=1");
}
if (e.commandname=="Select")
{
}
}
}
}
Top
6 楼huwei2003(凡)回复于 2004-11-04 14:19:38 得分 10
你在DataGrid的事件中把EditCommand和DeleteCommand的事件分开来写就行了Top




