DropDownListWord下载.docx
《DropDownListWord下载.docx》由会员分享,可在线阅读,更多相关《DropDownListWord下载.docx(45页珍藏版)》请在冰豆网上搜索。
获取列表控件中索引最小的选定项。
SelectedValue属性:
取列表控件中选定项的值,或选择列表控件中包含指定值的项。
因为在实际开发中,用户希望直观地看见选中哪个选项,而在操作数据库的时候我们更希望直接以该值对应的编号来操作,利用DataTextField属性和DataValueField属性就可以很方便地做到这一点,这两个属性通常是数据源中的某个字段名(如果DataSource属性是DataTable或者是DataView的话)或者范型集合中实体的属性(如果DataSource属性是System.Collections.Generic.List<
T>
的话,则可以指定为T的属性)。
下面是DropDownList控件的例子,依然用到的是第六章中创建的表(本代码采用了单页模式):
1.<
%@
Page
Language="
C#"
%>
2.<
Import
Namespace="
System.Data"
3.<
System.Data.SqlClient"
4.<
!
DOCTYPE
html
PUBLIC
"
-//W3C//DTD
XHTML
1.0
Transitional//EN"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
5.
6.<
script
runat="
server"
7.
8.
protected
void
Page_Load(object
sender,
EventArgs
e)
9.
{
10.
if
(!
Page.IsPostBack)
11.
12.
BindMonthList();
13.
BindUserList();
14.
}
15.
16.
17.
private
BindMonthList()
18.
19.
//因为所有的数组都是Array类的派生类
20.
//而Array类实现了IEnumerable和ICollection这两个接口,所以可以被当作数据源
21.
int[]
monthList
=
new
int[12];
22.
for
(int
i
0;
11;
i++)
23.
24.
monthList[i]
+
1;
25.
26.
ddlMonthList.DataSource
monthList;
27.
ddlMonthList.DataBind();
//注意不能缺少这一句,否则下拉列表中没有数据
28.
29.
30.
BindUserList()
31.
32.
//实例化Connection对象
33.
SqlConnection
connection
SqlConnection("
Data
Source=(local);
Initial
Catalog=AspNetStudy;
Persist
Security
Info=True;
User
ID=sa;
Password=sa"
);
34.
//实例化Command对象
35.
SqlCommand
command
SqlCommand("
select
UserID,RealName
from
UserInfo"
connection);
36.
SqlDataAdapter
adapter
SqlDataAdapter(command);
37.
DataTable
data
DataTable();
38.
adapter.Fill(data);
39.
40.
ddlUserList.DataTextField
RealName"
;
//指定下拉列表中的文字显示部分
41.
ddlUserList.DataValueField
UserID"
//指定下拉列表中的值部分
42.
ddlUserList.DataSource
data;
43.
ddlUserList.DataBind();
44.
45.<
/script>
46.
47.<
xmlns="
//www.w3.org/1999/xhtml"
48.<
head
49.
title>
DropDownList控件的例子<
/title>
50.<
/head>
51.<
body>
52.
form
id="
form1"
53.
div>
54.
asp:
DropDownList
ID="
ddlMonthList"
55.
/asp:
DropDownList>
56.
ddlUserList"
57.
/div>
58.
/form>
59.<
/body>
60.<
/html>
下面是运行效果:
注意,第二个DropDownList控件绑定数据源时有两句话必不可少,就是:
1.ddlUserList.DataTextField
2.ddlUserList.DataValueField
//指定下拉列表中的值部分
如果缺少这两句,将会是下面的效果:
另外,DropDownList控件默认情况下是第一个选项处于选中状态,如果我们想在绑定数据之后让某个选项处于选中状态,可以利用它的Items属性,DropDownList控件的Items属性其实是一个ListItemCollection的实例,ListItemCollection类有两个重要方法:
publicListItemFindByText(stringtext):
在选项集合中查找指定文字的选项。
publicListItemFindByValue(stringvalue):
在选项集合中查找指定值的选项。
利用这个属性,我们可以让某个选项在数据绑定后就处于选中状态。
比如在上面的代码中我们希望绑定数据源后,让刘备处于选中状态,那么我们的BindUserList()的代码可以这么写:
1.private
2.
3.
4.
5.
6.
7.
10.
//DataTable类实现了IListSource接口
16.
//根据指定文字找到了对应的选项
ListItem
item
ddlUserList.Items.FindByText("
刘备"
//如果该选项不为null,则让该选项处于选中状态
//如果不进行这个判断,而选项集合中没有对应的选项,则会抛出异常
(item
null)
item.Selected
true;
}
下面是修改后的代码的运行结果:
ListBox控件和DropDownList控件非常类似,ListBox控件是也是提供一组选项供用户选择的,只不过DropDownList控件只能有一个选项处于选中状态,并且每次只能显示一行(一个选项),而ListBox控件可以设置为允许多选,并且还可以设置为显示多行。
除了与DropDownList具有很多相似的属性之外,ListBox控件还有以下属性:
Rows属性:
设置ListBox控件显示的行数。
SelectionMode属性:
设置ListBox的选择模式,这是一个枚举值,它有Multiple和Single两个值,分别代表多选和单选,默认是Single,即同时只能有一个选项处于选中状态。
如果要想实现多选,除了设置SelectionMode属性为Multiple外,在选择时需要按住Ctrl键。
需要说明的是,因为ListBox允许多选,所以如果ListBox的SelectionMode属性为Multiple,那么SelectedIndex属性指的是被选中的选项中索引最小的那一个,SelectedValue属性指的是被选中的选项集合中索引最小的那一个的值。
下面是ListBox的用法举例:
15.
25.
listUsers.DataTextField
listUsers.DataValueField
29.
listUsers.DataSource
listUsers.DataBind();
32.
btnOK_Click(object
string
selectedUserName
string.Empty;
//遍历ListBox中的每一个选项
foreach
(ListItem
in
listUsers.Items)
39.
//如果选项被选中
(item.Selected)
+=
item.Value+"
"
45.
//如果至少有一个选项处于选中状态
46.
string.IsNullOrEmpty(selectedUserName))
47.
48.
//删除最后一个"
符号
selectedUserNameselectedUserName
selectedUserName.Remove(selectedUserName.Length
-
1);
50.
51.
Response.Write("
您选择的用户编号有:
selectedUserName);
53.<
54.
55.<
56.<
ListBox控件用法的例子<
58.<
60.
61.
62.
ListBox
listUsers"
SelectionMode="
Multiple"
ListBox>
63.
Button
btnOK"
OnClick="
btnOK_Click"
Text="
确定"
/>
64.
65.<
66.<
下面是运行情况:
按住Ctrl键同时选择几个选项,然后点击“确定”按钮之后的结果:
GridView控件作为1.1下的DataGrid的替代品,它内置了表格呈现样式。
GridView控件用来在表中显示数据源的值。
每列表示一个字段,而每行表示一条记录。
GridView控件支持下面的功能:
绑定至数据源控件,如SqlDataSource。
内置排序功能。
内置更新和删除功能。
内置分页功能。
内置行选择功能。
以编程方式访问GridView对象模型以动态设置属性、处理事件等。
多个键字段。
用于超链接列的多个数据字段。
可通过主题和样式进行自定义的外观。
可以实现多种样式的数据展示。
GridView控件主要有以下常见属性:
AllowPaging属性:
设置是否启用分页功能。
AllowSorting属性:
设置是否启用排序功能。
AutoGenerateColumns属性:
设置是否为数据源中的每个字段自动创建绑定字段。
这个属性默认为true,但在实际开发中很少会自动创建绑定列,我们总会根据一些情况让一些列不显示,比如显示用户列表的时候不会将用户密码显示出来,显示文章列表的时候不会将文章内容显示出来。
Columns属性:
获取GridView控件中列字段的集合。
PageCount属性:
获取在GridView控件中显示数据源记录所需的页数。
PageIndex属性:
获取或设置当前显示页的索引。
PagerSetting属性:
设置GridView的分页样式。
PageSize属性:
设置GridView控件每次显示的最大记录条数。
下图是将一个GridView控件拖到页面的情况:
点击“编辑列…”会出现下面的界面:
从上面的图中我们可以看出在GridView中可以显示7中类型的字段,它们分别是:
BoundField:
绑定字段,以文本的方式显示数据。
CheckBoxField:
复选框字段,如果数据库是bit字段,则以此方式显示。
HyperLinkField:
用超级连接的形式的显示字段值。
ImageField:
用于显示存放Image图象的url字段数据,显示成图片效果。
ButtonField:
显示按钮列。
CommandField:
显示可执行操作的列,可以执行编辑或者删除等操作。
可以设置它的ButtonType属性来决定显示成普通按钮、图片按钮或者超级链接。
TemplateField:
自定义数据的显示方式,在这里我们可以使用我们所熟悉的HTML控件或者Web服务器控件。
对于我们经常使用到的Users这个表,这次我们不再使用for循环来显示了,这次使用GridView控件来显示。
GridView控件的字段大都有HeaderText这个属性,这个属性是用来设置数据的镖头的,如果我们不设置的话默认都是以数据库的相应字段作为表头。
另外还有一个DataField属性,这个属性是用来设置要绑定显示的数据的属性或者列名。
在这里我们希望在显示的时候给出一个链接,用户可以点击这个链接跳转到查看详细介绍的页面,并且我们还希望将用户的电子邮件显示成超级链接的方式。
在这里还需要介绍一个属性:
DataNavigateUrlFormatString,类似的还有DataTextFormatString,有时候在显示数据的时候我们并不希望仅仅将数据简简单单显示,还希望用一定的格式来显示,那么就可以设置这个属性,在显示的时候我们用到了一个HyperLinkField,用来显示一个超级链接,它的设置如