zoukankan
html css js c++ java
DataGrid 完全攻略之五(使用DropDownList)
前台代码:html
<%
@ Page language
=
"
c#
"
Codebehind
=
"
UseDropDown.aspx.cs
"
AutoEventWireup
=
"
false
"
Inherits
=
"
MsDataGrid.UseDropDown
"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>
<
HTML
>
<
HEAD
>
<
title
>
DataGrid使用举例
</
title
>
<
meta
name
="GENERATOR"
Content
="Microsoft Visual Studio 7.0"
>
<
meta
name
="CODE_LANGUAGE"
Content
="C#"
>
<
meta
name
="vs_defaultClientScript"
content
="JavaScript"
>
<
meta
name
="vs_targetSchema"
content
="http://schemas.microsoft.com/intellisense/ie5"
>
</
HEAD
>
<
body
MS_POSITIONING
="GridLayout"
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
FONT
face
="宋体"
>
<
asp:DataGrid
id
="dgShow"
style
="Z-INDEX: 101; LEFT: 31px; POSITION: absolute; TOP: 93px"
runat
="server"
Width
="842px"
Height
="172px"
BorderColor
="Tan"
BorderWidth
="1px"
BackColor
="LightGoldenrodYellow"
CellPadding
="2"
GridLines
="None"
ForeColor
="Black"
PageSize
="1"
AutoGenerateColumns
="False"
>
<
SelectedItemStyle
ForeColor
="GhostWhite"
BackColor
="DarkSlateBlue"
></
SelectedItemStyle
>
<
AlternatingItemStyle
BackColor
="PaleGoldenrod"
></
AlternatingItemStyle
>
<
HeaderStyle
Font-Bold
="True"
BackColor
="Tan"
></
HeaderStyle
>
<
FooterStyle
BackColor
="Tan"
></
FooterStyle
>
<
Columns
>
<
asp:BoundColumn
DataField
="StudentID"
ReadOnly
="True"
HeaderText
="学生ID"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="StudentName"
HeaderText
="学生姓名"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="StudentPass"
HeaderText
="密码"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="Sex"
HeaderText
="性别"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="Birthday"
HeaderText
="生日"
DataFormatString
="{0:yyyy-M-d}"
></
asp:BoundColumn
>
<
asp:BoundColumn
DataField
="Email"
HeaderText
="邮件地址"
></
asp:BoundColumn
>
<
asp:TemplateColumn
HeaderText
="性别模板列"
>
<
ItemTemplate
>
<
asp:DropDownList
id
="ddlSexI"
runat
="server"
Enabled
="False"
>
<
asp:ListItem
Value
="1"
>
男
</
asp:ListItem
>
<
asp:ListItem
Value
="0"
>
女
</
asp:ListItem
>
</
asp:DropDownList
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
id
="ddlSexE"
runat
="server"
>
<
asp:ListItem
Value
="1"
>
男
</
asp:ListItem
>
<
asp:ListItem
Value
="0"
>
女
</
asp:ListItem
>
</
asp:DropDownList
>
</
EditItemTemplate
>
</
asp:TemplateColumn
>
<
asp:ButtonColumn
Text
="选择"
HeaderText
="选择"
CommandName
="Select"
></
asp:ButtonColumn
>
<
asp:EditCommandColumn
ButtonType
="LinkButton"
UpdateText
="更新"
HeaderText
="操作"
CancelText
="取消"
EditText
="编辑"
></
asp:EditCommandColumn
>
<
asp:ButtonColumn
Text
="删除"
HeaderText
="删除"
CommandName
="Delete"
></
asp:ButtonColumn
>
</
Columns
>
<
PagerStyle
HorizontalAlign
="Center"
ForeColor
="DarkSlateBlue"
BackColor
="PaleGoldenrod"
></
PagerStyle
>
</
asp:DataGrid
></
FONT
>
</
form
>
</
body
>
</
HTML
>
后台代码:cs
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
using
System.Data.SqlClient;
namespace
MsDataGrid
{
/**/
///
<summary>
///
WebForm1 的摘要说明。
///
</summary>
public
class
UseDropDown : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.DataGrid dgShow;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
if
(
!
IsPostBack)
BindData();
}
private
void
BindData()
{
string
strCon
=
System.Configuration.ConfigurationSettings.AppSettings[
"
DSN
"
];
SqlConnection con
=
new
SqlConnection(strCon);
SqlDataAdapter da
=
new
SqlDataAdapter(
"
Select * from tbStudentinfo
"
,con);
DataSet ds
=
new
DataSet();
da.Fill(ds,
"
studentinfo
"
);
dgShow.DataSource
=
ds.Tables[
"
studentinfo
"
].DefaultView;
dgShow.DataBind();
foreach
(DataGridItem dgi
in
dgShow.Items)
{
//
以下绑定非编辑状态下拉列表
DropDownList ddI
=
(DropDownList)dgi.FindControl(
"
ddlSexI
"
);
if
(ddI
!=
null
)
{
bool
bSex
=
(
bool
)ds.Tables[
"
studentinfo
"
].Rows[dgi.ItemIndex][
"
Sex
"
];
if
(bSex)
ddI.SelectedIndex
=
0
;
else
ddI.SelectedIndex
=
1
;
}
//
以下绑定编辑状态下拉列表
DropDownList ddE
=
(DropDownList)dgi.FindControl(
"
ddlSexE
"
);
if
(ddE
!=
null
)
{
bool
bSex
=
(
bool
)ds.Tables[
"
studentinfo
"
].Rows[dgi.ItemIndex][
"
Sex
"
];
if
(bSex)
ddE.SelectedIndex
=
0
;
else
ddE.SelectedIndex
=
1
;
}
}
}
Web Form Designer generated code
#region
Web Form Designer generated code
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.dgShow.PageIndexChanged
+=
new
System.Web.UI.WebControls.DataGridPageChangedEventHandler(
this
.dgShow_PageIndexChanged);
this
.dgShow.CancelCommand
+=
new
System.Web.UI.WebControls.DataGridCommandEventHandler(
this
.dgShow_CancelCommand);
this
.dgShow.EditCommand
+=
new
System.Web.UI.WebControls.DataGridCommandEventHandler(
this
.dgShow_EditCommand);
this
.dgShow.UpdateCommand
+=
new
System.Web.UI.WebControls.DataGridCommandEventHandler(
this
.dgShow_UpdateCommand);
this
.dgShow.DeleteCommand
+=
new
System.Web.UI.WebControls.DataGridCommandEventHandler(
this
.dgShow_DeleteCommand);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
dgShow_EditCommand(
object
source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dgShow.EditItemIndex
=
e.Item.ItemIndex;
BindData();
}
private
void
dgShow_CancelCommand(
object
source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dgShow.EditItemIndex
=
-
1
;
BindData();
}
private
void
dgShow_PageIndexChanged(
object
source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dgShow.CurrentPageIndex
=
e.NewPageIndex;
BindData();
}
private
void
dgShow_DeleteCommand(
object
source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if
(dgShow.Items.Count
==
1
)
{
if
(dgShow.CurrentPageIndex
!=
0
)
dgShow.CurrentPageIndex
=
dgShow.CurrentPageIndex
-
1
;
}
string
strSql
=
"
delete from tbStudentinfo where studentid=
"
+
e.Item.Cells[
0
].Text
+
""
;
ExecuteSql(strSql);
BindData();
}
/**/
////////////////////////////////////////////////////////////
//
说明:执行制定SQL语句
////////////////////////////////////
/
/**/
/////////////////////////////////////////////////////////
//
private
void
ExecuteSql(
string
strSql)
{
try
{
string
strconn
=
System.Configuration.ConfigurationSettings.AppSettings[
"
DSN
"
];
//
从Web.config中读取
SqlConnection conn
=
new
SqlConnection(strconn);
SqlCommand com
=
new
SqlCommand(strSql,conn);
conn.Open();
com.ExecuteNonQuery();
conn.Close();
}
catch
(Exception e)
{
Response.Write(
"
<script language = 'javascript'>alert('
"
+
e.Message
+
"
');</script>
"
) ;
}
}
private
void
dgShow_UpdateCommand(
object
source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string
strStudentID
=
e.Item.Cells[
0
].Text;
//
处于非编辑状态
string
strName
=
((TextBox)(e.Item.Cells[
1
].Controls[
0
])).Text;
//
处于编辑状态
string
strPass
=
((TextBox)(e.Item.Cells[
2
].Controls[
0
])).Text;
string
strSex
=
((DropDownList)(e.Item.FindControl(
"
ddlSexE
"
))).SelectedItem.Value;
string
strBirthday
=
((TextBox)(e.Item.Cells[
4
].Controls[
0
])).Text;
string
strEmail
=
((TextBox)(e.Item.Cells[
5
].Controls[
0
])).Text;
string
strSql
=
"
update tbStudentinfo set StudentName='
"
+
strName
+
"
',StudentPass='
"
+
strPass
+
"
'
"
;
strSql
+=
"
,Sex=
"
+
strSex
+
"
,Birthday='
"
+
strBirthday
+
"
',Email='
"
+
strEmail
+
"
' where studentid=
"
+
strStudentID
+
""
;
ExecuteSql(strSql);
dgShow.EditItemIndex
=
-
1
;
BindData();
}
}
}
查看全文
相关阅读:
python中break与continue区别
jmeter正则表达式
python的input()函数与getpass标准库
python实例练习-01登录
python数据类型-字符串
jmeter操作mysql
jmeter文件下载
字符逆序
求解立方根
求最小公倍数
原文地址:https://www.cnblogs.com/ghd258/p/253198.html
最新文章
java 多态
POj-1091 跳蚤
HDU-1796 How many integers can you find
杭电多校Day3 1006 Fansblog
hdu 2669 Romantic(线性同余,扩展欧几里得)
LightOJ 1341
Poj 1986 Distance Queries
Rank of Tetris
HDU 2647Reward
HDU 2094产生冠军
热门文章
蚂蚁觅食
Codeforces Round #683 (Div. 2, by Meet IT) E Xor Tree
牛妹游历城市(最短路补题
Zut_round 9(搜索
Zut_round8(多维dp)
Zut_round 7
ZUT_round6(一维线性dp
Comet OJ
link-1-STL 标准模板库
python之列表(list)
Copyright © 2011-2022 走看看