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';
"
);
}
}
查看全文
相关阅读:
R获取指定GO term和KEGG pathway的gene list基因集
统计和数学中常见的定理汇总 | 大数定律 | 中心极限定理
Genome Aggregation Database (gnomAD) 简介 | 参考人群等位基因频率数据库
SC3聚类 | 拉普拉斯矩阵 | Laplacian matrix | 图论 | R代码
Bayesian Statistics for Genetics | 贝叶斯与遗传学
似然函数 | 最大似然估计 | likelihood | maximum likelihood estimation | R代码
如何选题?| 什么样的科学问题 | 研究项目才是有意义的?| scientific method
响应面分析 | response surface analysis | R代码
乌龙茶生产过程中挥发性成分吲哚的形成 | Formation of Volatile Tea Constituent Indole During the Oolong Tea Manufacturing Process
PPI | protein-protein interaction | 蛋白互作分析 | gene interaction | 基因互作
原文地址:https://www.cnblogs.com/ryb/p/561474.html
最新文章
自媒体入门
MarkDown添加图片的三种方式
用燃烧的艾条做艾灸
被收割的人,是拦不住的
Android反编译,apk反编译技术总结
cmake 的简单使用示例
十种用于慢性结肠炎的中成药
H5页面返回上一页IOS失效
登录成功会返回登录前页面
打开自己的cnblog 总是cpu 100%
热门文章
Swiper 循环多个时,滑动异常解决办法
热水器花洒软管如何更换?
2020.03装机配置单
TP框架SQLSTATE[HY000] [2002] No route to host
TP项目上线又是500
一不小心被挂了马,代码如下
TP框架如何渲染带格式的数据?
交互式报告系统 Dr. Tom | 华大基因培训资料
表观 | Enhancer | ChIP-seq | 转录因子 | 数据库专题
单细胞数据库汇总
Copyright © 2011-2022 走看看