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();
}
浙公网安备 33010602011771号