<
asp:GridView
ID
="GridView1"
runat
="server"
AutoGenerateColumns
="False"
PageSize
="10"
Width ="542px" AllowPaging ="True" AllowSorting ="True"
DataKeyNames ="DB1_1,DB1_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 >
Width ="542px" AllowPaging ="True" AllowSorting ="True"
DataKeyNames ="DB1_1,DB1_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'; " );
}
}
/// 绑定数据到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'; " );
}
}