<
asp:GridView ID
=
"
GridView1
"
runat
=
"
server
"
AutoGenerateColumns
=
"
False
"
PageSize
=
"
10
"
Width
=
"
542px
"
AllowPaging
=
"
True
"
AllowSorting
=
"
True
"
DataKeyNames
=
"
DB31_1,DB31_2
"
OnRowCancelingEdit
=
"
GridView1_RowCancelingEdit
"
OnRowDeleting
=
"
GridView1_RowDeleting
"
OnRowEditing
=
"
GridView1_RowEditing
"
OnRowUpdating
=
"
GridView1_RowUpdating
"
OnPageIndexChanging
=
"
GridView1_PageIndexChanging
"
OnRowDataBound
=
"
GridView1_RowDataBound
"
OnSelectedIndexChanged
=
"
GridView1_SelectedIndexChanged
"
OnSorting
=
"
GridView1_Sorting
"
>
<
Columns
>
<
asp:TemplateField HeaderText
=
"
序号
"
>
<
ItemTemplate
>
<%
#
this
.GridView1.PageIndex
*
this
.GridView1.PageSize
+
this
.GridView1.Rows.Count
+
1
%>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField HeaderText
=
"
学历代码
"
SortExpression
=
"
DB1_1
"
>
<
EditItemTemplate
>
<%--<
asp:TextBox ID
=
"
TextBox1
"
runat
=
"
server
"
Text
=
'
<%# Bind("DB1_1") %>
'
></
asp:TextBox
>--%>
<
asp:DropDownList ID
=
"
ddlXL
"
runat
=
"
server
"
DataValueField
=
'
<%# Bind("DB1_1") %>
'
></
asp:DropDownList
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label ID
=
"
Label1
"
runat
=
"
server
"
Text
=
'
<%# Bind("xueliText") %>
'
></
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField HeaderText
=
"
学历名称
"
SortExpression
=
"
DB1_2
"
>
<
EditItemTemplate
>
<
asp:TextBox ID
=
"
TextBox2
"
runat
=
"
server
"
Text
=
'
<%# Bind("DB1_2") %>
'
></
asp:TextBox
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label ID
=
"
Label2
"
runat
=
"
server
"
Text
=
'
<%# Bind("DB1_2") %>
'
></
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField HeaderText
=
"
操作
"
ShowHeader
=
"
False
"
>
<
EditItemTemplate
>
<
asp:LinkButton ID
=
"
LinkButton1
"
runat
=
"
server
"
CausesValidation
=
"
True
"
CommandName
=
"
Update
"
Text
=
"
更新
"
></
asp:LinkButton
>
<
asp:LinkButton ID
=
"
LinkButton2
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Cancel
"
Text
=
"
取消
"
></
asp:LinkButton
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:LinkButton ID
=
"
LinkButton1
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Edit
"
Text
=
"
编辑
"
OnClientClick
=
"
return confirm('确认要编辑吗?');
"
></
asp:LinkButton
>
<
asp:LinkButton ID
=
"
LinkButton3
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Delete
"
Text
=
"
删除
"
OnClientClick
=
"
return confirm('确认要删除吗?');
"
></
asp:LinkButton
>
<
asp:LinkButton ID
=
"
LinkButton2
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Select
"
Text
=
"
选择
"
></
asp:LinkButton
>
</
ItemTemplate
>
</
asp:TemplateField
>
</
Columns
>
<
AlternatingRowStyle BackColor
=
"
Aquamarine
"
/>
</
asp:GridView
>
/**/
/// <summary>
/// 绑定数据到GridView
/// </summary>
private
void
GridViewBind()
...
{
检索数据库
string strSql = "SELECT * FROM DB1";
得到数据集
this.GridView1.DataSource=conn.GetDs(strSql).Tables[0].DefaultView;
this.GridView1.DataBind();
}
/**/
/// <summary>
/// 编辑当前行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_RowEditing(
object
sender, GridViewEditEventArgs e)
...
{
GridView1.EditIndex = e.NewEditIndex;
//当前编辑行背景色高亮
this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");
GridViewBind();
}
/**/
/// <summary>
/// 取消编辑状态
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_RowCancelingEdit(
object
sender, GridViewCancelEditEventArgs e)
...
{
GridView1.EditIndex = -1;
GridViewBind();
}
/**/
/// <summary>
/// 删除记录过程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_RowDeleting(
object
sender, GridViewDeleteEventArgs e)
...
{
//得到单位编号
string rowToDelete = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
//转换为整数
//int ID=Convert.ToInt32(rowToDelete);
//从数据库中删除
string str = "DELETE FROM DB1 where DB1_1=" + "'" + rowToDelete + "'" + "";
try
...{
conn.RunSql(str);
//重新绑定数据
GridViewBind();
}
catch (Exception ex)
...{
Response.Write("数据库错误,错误原因:" + ex.Message);
Response.End();
}
}
/**/
/// <summary>
/// 更新记录过程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_RowUpdating(
object
sender, GridViewUpdateEventArgs e)
...
{
string ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
string DB1_1 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;
//string DB1_2 = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;
string DB1_2 = (((DropDownList))GridView1.Rows[e.RowIndex].FindControl("ddlXL")).SelectedItem.Text;
//判断表单项是否有空并给出提示信息
if (DB1_1 == "" || DB1_2 == "")
...{
conn.Alert("请输入完整信息!", Page);
return;
}
try
...{
conn.BuilderEdit("select * from DB1 where DB1_1 ='" + ID + "'");
conn.dr["DB1_1"] = DB1_1;
conn.dr["DB1_2"] = DB1_2;
conn.BuilderEditClose();
}
catch (OracleException err)
...{
if (err.Code.ToString() == "1")
conn.Alert("错误:已存在具有相同主键的记录", Page);
else
conn.Alert("错误:未能添加记录", Page);
}
Response.Write("<script language='javascript'>alert('数据已被保存!');</script>");
//返回浏览状态
GridView1.EditIndex = -1;
GridViewBind();
}
/**/
/// <summary>
/// 分页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_PageIndexChanging(
object
sender, GridViewPageEventArgs e)
...
{
GridView1.PageIndex = e.NewPageIndex;
GridViewBind();
}
/**/
/// <summary>
/// 加入鼠标效果及为DropDownList绑定值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
...
{
//为DropDownList绑定值
if (((DropDownList)e.Row.FindControl("ddlXL")) != null)
...{
DropDownList ddlXL = (DropDownList)e.Row.FindControl("ddlXL");
ddlXL.Items.Clear();
ddlXL.Items.Add(new ListItem("博士", "1"));
ddlXL.Items.Add(new ListItem("硕士", "2"));
ddlXL.Items.Add(new ListItem("学士", "3"));
}
//加入鼠标滑过的高亮效果
if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarow类型的行
...{
//当鼠标放上去的时候 先保存当前行的背景颜色 并给附一颜色
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';");
//当鼠标离开的时候 将背景颜色还原的以前的颜色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
}
//单击行改变行背景颜色
if (e.Row.RowType == DataControlRowType.DataRow)
...{
e.Row.Attributes.Add("onclick", "this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");
}
}
转载于:https://www.cnblogs.com/xiongeee/archive/2006/12/30/607631.html