using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
public
partial
class
GridView_Demo : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
IsPostBack)
{
ViewState[
"
sort
"
]
=
"
asc
"
;
Bind();
}
}
///
<summary>
///
绑定GridView控件
///
</summary>
private
void
Bind()
{
SqlConnection conn
=
new
SqlConnection(
"
Data Source=.;Initial Catalog=chapter5;Integrated Security=True
"
);
conn.Open();
SqlDataAdapter myda
=
new
SqlDataAdapter(
"
select * from student
"
, conn);
DataTable dt
=
new
DataTable();
myda.Fill(dt);
GridView1.DataSource
=
dt;
GridView1.DataBind();
conn.Close();
}
private
void
Bind(
string
sname)
{
SqlConnection conn
=
new
SqlConnection(
"
Data Source=.;Initial Catalog=chapter5;Integrated Security=True
"
);
conn.Open();
string
sql
=
string
.Format(
"
select * from student order by {0}
"
,sname);
SqlDataAdapter myda
=
new
SqlDataAdapter(sql, conn);
DataTable dt
=
new
DataTable();
myda.Fill(dt);
GridView1.DataSource
=
dt;
GridView1.DataBind();
conn.Close();
}
///
<summary>
///
实现分页 页面下面改变事件
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
protected
void
GridView1_PageIndexChanging(
object
sender, GridViewPageEventArgs e)
{
GridView1.PageIndex
=
e.NewPageIndex;
Bind();
}
///
<summary>
///
编辑事件
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
protected
void
GridView1_RowEditing(
object
sender, GridViewEditEventArgs e)
{
GridView1.EditIndex
=
e.NewEditIndex;
Bind();
}
///
<summary>
///
取消编辑事件
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
protected
void
GridView1_RowCancelingEdit(
object
sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex
=
-
1
;
Bind();
}
///
<summary>
///
更新事件
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
protected
void
GridView1_RowUpdating(
object
sender, GridViewUpdateEventArgs e)
{
int
id
=
int
.Parse(GridView1.Rows[e.RowIndex].Cells[
0
].Text);
string
name
=
((TextBox)GridView1.Rows[e.RowIndex].Cells[
1
].Controls[
0
]).Text;
int
age
=
int
.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[
2
].Controls[
0
]).Text);
SqlConnection conn
=
new
SqlConnection(
"
Data Source=.;Initial Catalog=chapter5;Integrated Security=True
"
);
conn.Open();
string
sql
=
string
.Format(
"
update student set s_name = '{0}',s_age = {1} where s_id={2}
"
,name,age,id);
SqlCommand cmd
=
new
SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex
=
-
1
;
Bind();
//
Page.RegisterStartupScript("duihuakuang", "<script>alert('修改成功!')</script>");
}
//
删除
protected
void
GridView1_RowDeleting(
object
sender, GridViewDeleteEventArgs e)
{
int
id
=
int
.Parse(GridView1.Rows[e.RowIndex].Cells[
0
].Text);
SqlConnection conn
=
new
SqlConnection(
"
Data Source=.;Initial Catalog=chapter5;Integrated Security=True
"
);
conn.Open();
string
sql
=
string
.Format(
"
delete student where s_id={0}
"
,id);
SqlCommand cmd
=
new
SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex
=
-
1
;
Bind();
}
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
{
if
(e.Row.RowType
==
DataControlRowType.DataRow
&&
e.Row.RowState
!=
DataControlRowState.Edit)
//
判断行类型是否是数据行 行状态是否是处于编辑状态
{
//
((ImageButton)e.Row.Cells[4].FindControl("ImageButton1")).Attributes.Add("onclick", "return confirm('确定删除')");
((LinkButton)e.Row.Cells[
5
].Controls[
0
]).Attributes.Add(
"
onclick
"
,
"
return confirm('确定删除')
"
);
e.Row.Attributes.Add(
"
onmouseover
"
,
"
this.style.color='red'
"
);
e.Row.Attributes.Add(
"
onmouseout
"
,
"
this.style.color='#000000'
"
);
}
}
protected
void
GridView1_Sorting(
object
sender, GridViewSortEventArgs e)
{
if
(ViewState[
"
sort
"
].ToString()
==
"
asc
"
)
{
ViewState[
"
sort
"
]
=
"
desc
"
;
}
else
{
ViewState[
"
sort
"
]
=
"
asc
"
;
}
Bind(e.SortExpression);
}
}