比如表中三个字段
key1 int,key2 int,item varchar(50)
前面2个字段联合主键
前台代码:
<
asp:DataGrid
id
="DataGrid1"
runat
="server"
AutoGenerateColumns
="False"
DataKeyField
="DoubleKey"
>
<
Columns
>
<
asp:BoundColumn
DataField
="item"
HeaderText
="item"
></
asp:BoundColumn
>
<
asp:ButtonColumn
CommandName
="del"
Text
="删除"
></
asp:ButtonColumn
>
</
Columns
>
</
asp:DataGrid
>
后台代码:
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Data.SqlClient;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
csdn2

{
public class WebForm20 : System.Web.UI.Page

{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)

{
if(!IsPostBack)

{
SetBind();
}
}
private void SetBind()

{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from doublekey",conn);
DataSet ds=new DataSet();
da.Fill(ds);
DataTable dt=ds.Tables[0];
DataColumn dc=new DataColumn("DoubleKey",typeof(string),"key1+'#'+key2");
dt.Columns.Add(dc);
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();
}

Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)

{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()

{
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

{
if(e.CommandName=="del")

{
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlCommand comm=new SqlCommand("delete from doublekey where key1=@key1 and key2=@key2",conn);
SqlParameter parm1=new SqlParameter("@key1",SqlDbType.Int);
SqlParameter parm2=new SqlParameter("@key2",SqlDbType.Int);
string [] keys=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString().Split('#');
parm1.Value=keys[0];
parm2.Value=keys[1];
comm.Parameters.Add(parm1);
comm.Parameters.Add(parm2);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
SetBind();
}
}
}
}