天天看点

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

比如表中三个字段

key1 int,key2 int,item varchar(50)

前面2个字段联合主键

前台代码:

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

< asp:DataGrid  id ="DataGrid1"  runat ="server"  AutoGenerateColumns ="False"  DataKeyField ="DoubleKey" >

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                 < Columns >

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                     < asp:BoundColumn  DataField ="item"  HeaderText ="item" ></ asp:BoundColumn >

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                     < asp:ButtonColumn  CommandName ="del"  Text ="删除" ></ asp:ButtonColumn >

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                 </ Columns >

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

             </ asp:DataGrid >

后台代码:

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Collections;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.ComponentModel;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Data;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Data.SqlClient;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Drawing;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Web;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Web.SessionState;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Web.UI;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Web.UI.WebControls;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

using  System.Web.UI.HtmlControls;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

namespace  csdn2

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

    public class WebForm20 : System.Web.UI.Page

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        protected System.Web.UI.WebControls.DataGrid DataGrid1;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        private void Page_Load(object sender, System.EventArgs e)

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            if(!IsPostBack)

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SetBind();

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        private void SetBind()

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            SqlDataAdapter da=new SqlDataAdapter("select * from doublekey",conn);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            DataSet ds=new DataSet();

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            da.Fill(ds);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            DataTable dt=ds.Tables[0];

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            DataColumn dc=new DataColumn("DoubleKey",typeof(string),"key1+'#'+key2");

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            dt.Columns.Add(dc);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            this.DataGrid1.DataSource=dt;

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            this.DataGrid1.DataBind();

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        override protected void OnInit(EventArgs e)

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            //

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            //

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            InitializeComponent();

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            base.OnInit(e);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        /// <summary>

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        /// 设计器支持所需的方法 - 不要使用代码编辑器修改

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        /// 此方法的内容。

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        /// </summary>

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        private void InitializeComponent()

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{    

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            this.Load += new System.EventHandler(this.Page_Load);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        #endregion

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            if(e.CommandName=="del")

联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录
联合主键的情况怎么在DataGrid中利用DataKeys定位记录

{

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SqlCommand comm=new SqlCommand("delete from doublekey where [email protected] and [email protected]",conn); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SqlParameter parm1=new SqlParameter("@key1",SqlDbType.Int);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SqlParameter parm2=new SqlParameter("@key2",SqlDbType.Int); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                string [] keys=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString().Split('#');

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                parm1.Value=keys[0];

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                parm2.Value=keys[1];

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                comm.Parameters.Add(parm1);

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                comm.Parameters.Add(parm2); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                conn.Open(); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                comm.ExecuteNonQuery(); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                conn.Close(); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

                SetBind(); 

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

            }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

        }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

    }

联合主键的情况怎么在DataGrid中利用DataKeys定位记录

}