DropDownList的GridView编辑、删除的实现代码

发布时间:2021-01-20编辑:脚本学堂
包含有dropdownlist的gridview编辑与删除的实现代码,有需要的朋友,可以参考下。

gridview编辑、删除完整代码如下。
 

复制代码 代码示例:

<asp:GridView runat="server" AutoGenerateColumns="False" PageSize="10" Width="542px" AllowPaging="True" AllowSorting="True" DataKeyNames="DB31_1,DB31_2" >
<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 runat="server" Text='<%# Bind("DB1_1") %>'></asp:TextBox>--%>

<asp:DropDownList runat="server" DataValueField='<%# Bind("DB1_1") %>'></asp:DropDownList>

</EditItemTemplate>

<ItemTemplate>

<asp:Label runat="server" Text='<%# Bind("xueliText") %>'></asp:Label>

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="学历名称" SortExpression="DB1_2">

<EditItemTemplate>

<asp:TextBox runat="server" Text='<%# Bind("DB1_2") %>'></asp:TextBox>

</EditItemTemplate>

<ItemTemplate>

<asp:Label runat="server" Text='<%# Bind("DB1_2") %>'></asp:Label>

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="操作" ShowHeader="False">

<EditItemTemplate>

<asp:LinkButton runat="server" CausesValidation="True" CommandName="Update"

Text="更新"></asp:LinkButton>

<asp:LinkButton runat="server" CausesValidation="False" CommandName="Cancel"

Text="取消"></asp:LinkButton>

</EditItemTemplate>

<ItemTemplate>

<asp:LinkButton runat="server" CausesValidation="False" CommandName="Edit"

Text="编辑" confirm('确认要编辑吗?');"></asp:LinkButton>

<asp:LinkButton runat="server" CausesValidation="False" CommandName="Delete"

Text="删除" confirm('确认要删除吗?');"></asp:LinkButton>

<asp:LinkButton 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 ></param>

/// <param ></param>

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

GridView1.EditIndex = e.NewEditIndex;

//当前编辑行背景色高亮

this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");

GridViewBind();

}

/// <summary>

/// 取消编辑状态

/// </summary>

/// <param ></param>

/// <param ></param>

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{

GridView1.EditIndex = -1;

GridViewBind();

}

/// <summary>

/// 删除记录过程

/// </summary>

/// <param ></param>

/// <param ></param>

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

//得到单位编号

string rowToDelete = GridView1.DataKeys[e.RowIndex].Values[0].ToString();

//转换为整数

//int >//从数据库中删除

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 ></param>

/// <param ></param>

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

string >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 ></param>

/// <param ></param>

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

GridView1.PageIndex = e.NewPageIndex;

GridViewBind();

}

/// <summary>

/// 加入鼠标效果及为DropDownList绑定值

/// </summary>

/// <param ></param>

/// <param ></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';");
}
}