DataGrid高级应用

protected void chkAll_OnCheckedChanged(object sender,System.EventArgs e)
  {
   CheckBox chk=(CheckBox)sender;
   int j=0;
   foreach(DataGridItem i in dg.Items)
   {
    CheckBox chkb=(CheckBox)i.FindControl("chkb");
    chkb.Checked=chk.Checked;
    j++;
   }
   Response.Write(j);
  }
  protected void chkb_OnCheckedChanged(object sender,System.EventArgs e)
  {
  }
  protected void labSex_OnDataBinding(object sender,System.EventArgs e)
  {
   Label lab=(Label)sender;//获得文本对象
   DataGridItem dgi=(DataGridItem)lab.NamingContainer;//DataGridItem获得行
   lab.Text=DataBinder.Eval(dgi.DataItem,"sex").ToString();//将lab.Text的值邦定到sex字段
   
   int sex=int.Parse(lab.Text);
   if(sex==1)
    lab.Text="男".ToString();
   else
    lab.Text="女".ToString();
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
   this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
   this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
   this.ada = new System.Data.SqlClient.SqlDataAdapter();
   this.ds1 = new DataGrid提高.ds();
   ((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit();
   this.dg.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dg_PageIndexChanged);

   this.dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_ItemDataBound);
   //
   // sqlSelectCommand1
   //
   this.sqlSelectCommand1.CommandText = "SELECT name, sex, tel, email FROM test";
   this.sqlSelectCommand1.Connection = this.sqlConnection1;
   //
   // sqlConnection1
   //
   this.sqlConnection1.ConnectionString = "workstation id=SERVER;packet size=4096;user id=sa;data source=SERVER;persist secu" +
    "rity info=True;initial catalog=DataGrid;password=shumi";
   //
   // sqlInsertCommand1
   //
   this.sqlInsertCommand1.CommandText = "INSERT INTO test(name, sex, tel, email) VALUES (@name, @sex, @tel, @email); SELEC" +
    "T name, sex, tel, email FROM test WHERE (name = @name)";
   this.sqlInsertCommand1.Connection = this.sqlConnection1;
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.VarChar, 10, "name"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sex", System.Data.SqlDbType.VarChar, 10, "sex"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@tel", System.Data.SqlDbType.VarChar, 20, "tel"));
   this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@email", System.Data.SqlDbType.VarChar, 50, "email"));
   //
   // sqlUpdateCommand1
   //
   this.sqlUpdateCommand1.CommandText = "UPDATE test SET name = @name, sex = @sex, tel = @tel, email = @email WHERE (name " +
    "= @Original_name) AND (email = @Original_email) AND (sex = @Original_sex) AND (t" +
    "el = @Original_tel); SELECT name, sex, tel, email FROM test WHERE (name = @name)" +
    "";
   this.sqlUpdateCommand1.Connection = this.sqlConnection1;
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.VarChar, 10, "name"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sex", System.Data.SqlDbType.VarChar, 10, "sex"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@tel", System.Data.SqlDbType.VarChar, 20, "tel"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@email", System.Data.SqlDbType.VarChar, 50, "email"));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_name", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "name", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_email", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "email", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_sex", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "sex", System.Data.DataRowVersion.Original, null));
   this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_tel", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "tel", System.Data.DataRowVersion.Original, null));
   //
   // sqlDeleteCommand1
   //
   this.sqlDeleteCommand1.CommandText = "DELETE FROM test WHERE (name = @Original_name) AND (email = @Original_email) AND " +
    "(sex = @Original_sex) AND (tel = @Original_tel)";
   this.sqlDeleteCommand1.Connection = this.sqlConnection1;
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_name", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "name", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_email", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "email", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_sex", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "sex", System.Data.DataRowVersion.Original, null));
   this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_tel", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "tel", System.Data.DataRowVersion.Original, null));
   //
   // ada
   //
   this.ada.DeleteCommand = this.sqlDeleteCommand1;
   this.ada.InsertCommand = this.sqlInsertCommand1;
   this.ada.SelectCommand = this.sqlSelectCommand1;
   this.ada.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
                        new System.Data.Common.DataTableMapping("Table", "test", new System.Data.Common.DataColumnMapping[] {
                                                  new System.Data.Common.DataColumnMapping("name", "name"),
                                                  new System.Data.Common.DataColumnMapping("sex", "sex"),
                                                  new System.Data.Common.DataColumnMapping("tel", "tel"),
                                                  new System.Data.Common.DataColumnMapping("email", "email")})});
   this.ada.UpdateCommand = this.sqlUpdateCommand1;
   //
   // ds1
   //
   this.ds1.DataSetName = "ds";
   this.ds1.Locale = new System.Globalization.CultureInfo("zh-CN");
   this.Load += new System.EventHandler(this.Page_Load);
   ((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit();

  }
  #endregion

  private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
   {
     //删除确认
    LinkButton delBttn=(LinkButton)e.Item.Cells[6].Controls[0];
    delBttn.Attributes.Add("onclick","javascript:return confirm('确定删除"+e.Item.Cells[1].Text+"?');");
     //颜色交替 
    e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='seashell'");
    if(e.Item.ItemType == ListItemType.Item)
    {
     e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='#ffffff'");
    }

    if(e.Item.ItemType ==ListItemType.AlternatingItem)
    {
     e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='seashell'");
    }
   }
  }

  private void dg_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {
   dg.CurrentPageIndex=e.NewPageIndex;
   dg.DataBind();
  }

posted on 2004-07-15 14:16  舒密  阅读(1160)  评论(2)    收藏  举报

导航