zoukankan
html css js c++ java
ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
<
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
>
/**/
///
<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';
"
);
}
}
查看全文
相关阅读:
不敢想,做个博客竟如此简单!
我有一台服务器,能干啥?
精品 IDEA 插件大汇总!值得收藏
怒肝半月!Python 学习路线+资源大汇总
怒肝 Linux 学习路线,这回不难
多环境
分享 10 个高星的创意项目!
js的attribute
选择大厂该做哪些准备?|小白进入大厂现状
小白程序猿了解大厂的开发模式
原文地址:https://www.cnblogs.com/ryb/p/561474.html
最新文章
istio 多集群
nginx动态化~1 nginx-ingress
apisix-ingress-controller rest调试帮助
k8s-ingress-note
k8s-nginx启动
k8s-ingress 编译启动链路
apisix动态性
apisix-ingress-note
linux 时钟同步
Substring在js、java、C# 、sql中的区别?
热门文章
Firefox、chrome下隐藏表格行不能使用block
SqlServer数据库一些基本操作命令
.net常见的一些面试题
高德地图获取屏幕四角经纬度demo
react native 啧啧啧
手机开发app分类总结
通过.bat 操作oracal数据库导出文件导入文件并且导出前删除表数据
关于exp/imp用法
从python开始学编程-vamei(1)
Maven依赖管理
Copyright © 2011-2022 走看看