1、获取列表控件中索引最小的选定项。SelectedValue属性:取列表控件中选定项的值,或选择列表控件中包含指定值的项。因为在实际开发中,用户希望直观地看见选中哪个选项,而在操作数据库的时候我们更希望直接以该值对应的编号来操作,利用DataTextField属性和DataValueField属性就可以很方便地做到这一点,这两个属性通常是数据源中的某个字段名(如果DataSource属性是DataTable或者是DataView的话)或者范型集合中实体的属性(如果DataSource属性是System.Collections.Generic.List的话,则可以指定为T的属性)。下面是DropD
2、ownList控件的例子,依然用到的是第六章中创建的表(本代码采用了单页模式):1. 2. ImportNamespace=System.Data3. System.Data.SqlClient4. 5. 6. scriptrunat=server7. 8. protectedvoidPage_Load(objectsender,EventArgse) 9. 10. if(!Page.IsPostBack) 11. 12. BindMonthList();13. BindUserList();14. 15. 16. 17. privateBindMonthList() 18. 19. /因为所
3、有的数组都是Array类的派生类 20. /而Array类实现了IEnumerable和ICollection这两个接口,所以可以被当作数据源 21. intmonthList=newint12;22. for(inti0;11;i+) 23. 24. monthListi+1;25. 26. ddlMonthList.DataSourcemonthList;27. ddlMonthList.DataBind();/注意不能缺少这一句,否则下拉列表中没有数据 28. 29. 30. BindUserList() 31. 32. /实例化Connection对象 33. SqlConnectio
4、nconnectionSqlConnection(DataSource=(local);InitialCatalog=AspNetStudy;PersistSecurityInfo=True;UserID=sa;Password=sa);34. /实例化Command对象 35. SqlCommandcommandSqlCommand(selectUserID,RealNamefromUserInfo,connection);36. SqlDataAdapteradapterSqlDataAdapter(command);37. DataTabledataDataTable();38. ada
5、pter.Fill(data);39. 40. ddlUserList.DataTextFieldRealName;/指定下拉列表中的文字显示部分 41. ddlUserList.DataValueFieldUserID/指定下拉列表中的值部分 42. ddlUserList.DataSourcedata;43. ddlUserList.DataBind();44. 45. 46. 47. xmlns=/www.w3.org/1999/xhtml48. DropDownList控件的例子50. 51. 52. formid=form153. div54. asp:DropDownListID=
6、ddlMonthList55. /asp:DropDownList56. ddlUserList57. /div58. /form59. 60. 下面是运行效果:注意,第二个DropDownList控件绑定数据源时有两句话必不可少,就是:1. ddlUserList.DataTextField2. ddlUserList.DataValueField/指定下拉列表中的值部分如果缺少这两句,将会是下面的效果:另外,DropDownList控件默认情况下是第一个选项处于选中状态,如果我们想在绑定数据之后让某个选项处于选中状态,可以利用它的Items属性,DropDownList控件的Items属性
7、其实是一个ListItemCollection的实例,ListItemCollection类有两个重要方法:public ListItem FindByText (string text):在选项集合中查找指定文字的选项。public ListItem FindByValue (string value) :在选项集合中查找指定值的选项。利用这个属性,我们可以让某个选项在数据绑定后就处于选中状态。比如在上面的代码中我们希望绑定数据源后,让刘备处于选中状态,那么我们的BindUserList()的代码可以这么写:1. private2. 3. 4. 5. 6. 7. 10. /DataTable
8、类实现了IListSource接口 16. /根据指定文字找到了对应的选项 ListItemitemddlUserList.Items.FindByText(刘备/如果该选项不为null,则让该选项处于选中状态 /如果不进行这个判断,而选项集合中没有对应的选项,则会抛出异常 (itemnull) item.Selectedtrue;下面是修改后的代码的运行结果:ListBox控件和DropDownList控件非常类似,ListBox控件是也是提供一组选项供用户选择的,只不过DropDownList控件只能有一个选项处于选中状态,并且每次只能显示一行(一个选项),而ListBox控件可以设置为允
9、许多选,并且还可以设置为显示多行。除了与DropDownList具有很多相似的属性之外,ListBox控件还有以下属性:Rows属性:设置ListBox控件显示的行数。SelectionMode属性:设置ListBox的选择模式,这是一个枚举值,它有Multiple和Single两个值,分别代表多选和单选,默认是Single,即同时只能有一个选项处于选中状态。如果要想实现多选,除了设置SelectionMode属性为Multiple外,在选择时需要按住Ctrl键。需要说明的是,因为ListBox允许多选,所以如果ListBox的SelectionMode属性为Multiple,那么Select
10、edIndex属性指的是被选中的选项中索引最小的那一个,SelectedValue属性指的是被选中的选项集合中索引最小的那一个的值。下面是ListBox的用法举例:15. 25. listUsers.DataTextFieldlistUsers.DataValueField29. listUsers.DataSourcelistUsers.DataBind();32. btnOK_Click(objectstringselectedUserNamestring.Empty;/遍历ListBox中的每一个选项 foreach(ListIteminlistUsers.Items) 39. /如果选
11、项被选中 (item.Selected) +=item.Value+,45. /如果至少有一个选项处于选中状态 46. string.IsNullOrEmpty(selectedUserName) 47. 48. /删除最后一个符号 selectedUserNameselectedUserNameselectedUserName.Remove(selectedUserName.Length-1);50. 51. Response.Write(您选择的用户编号有:selectedUserName);53. 54. 55. 56. ListBox控件用法的例子58. 63. ButtonbtnOK
12、OnClick=btnOK_ClickText=确定/64. 65. 66. 下面是运行情况:按住Ctrl键同时选择几个选项,然后点击“确定”按钮之后的结果:GridView控件作为1.1下的DataGrid的替代品,它内置了表格呈现样式。GridView 控件用来在表中显示数据源的值。每列表示一个字段,而每行表示一条记录。GridView 控件支持下面的功能:绑定至数据源控件,如 SqlDataSource。内置排序功能。内置更新和删除功能。内置分页功能。内置行选择功能。以编程方式访问 GridView 对象模型以动态设置属性、处理事件等。多个键字段。用于超链接列的多个数据字段。可通过主题和
13、样式进行自定义的外观。可以实现多种样式的数据展示。GridView控件主要有以下常见属性:AllowPaging属性:设置是否启用分页功能。AllowSorting 属性:设置是否启用排序功能。AutoGenerateColumns 属性:设置是否为数据源中的每个字段自动创建绑定字段。这个属性默认为true,但在实际开发中很少会自动创建绑定列,我们总会根据一些情况让一些列不显示,比如显示用户列表的时候不会将用户密码显示出来,显示文章列表的时候不会将文章内容显示出来。Columns属性:获取 GridView 控件中列字段的集合。PageCount属性:获取在 GridView 控件中显示数据源
14、记录所需的页数。PageIndex属性:获取或设置当前显示页的索引。PagerSetting属性:设置GridView的分页样式。PageSize属性:设置GridView控件每次显示的最大记录条数。下图是将一个GridView控件拖到页面的情况:点击“编辑列”会出现下面的界面:从上面的图中我们可以看出在GridView中可以显示7中类型的字段,它们分别是:BoundField:绑定字段,以文本的方式显示数据。CheckBoxField:复选框字段,如果数据库是bit字段,则以此方式显示。HyperLinkField:用超级连接的形式的显示字段值。ImageField:用于显示存放Image图
15、象的url字段数据,显示成图片效果。ButtonField:显示按钮列。CommandField:显示可执行操作的列,可以执行编辑或者删除等操作。可以设置它的ButtonType属性来决定显示成普通按钮、图片按钮或者超级链接。TemplateField:自定义数据的显示方式,在这里我们可以使用我们所熟悉的HTML控件或者 Web服务器控件。对于我们经常使用到的Users这个表,这次我们不再使用for循环来显示了,这次使用GridView控件来显示。GridView控件的字段大都有HeaderText这个属性,这个属性是用来设置数据的镖头的,如果我们不设置的话默认都是以数据库的相应字段作为表头。另外还有一个DataField属性,这个属性是用来设置要绑定显示的数据的属性或者列名。在这里我们希望在显示的时候给出一个链接,用户可以点击这个链接跳转到查看详细介绍的页面,并且我们还希望将用户的电子邮件显示成超级链接的方式。在这里还需要介绍一个属性:DataNavigateUrlFormatString,类似的还有DataTextFormatString,有时候在显示数据的时候我们并不希望仅仅将数据简简单单显示,还希望用一定的格式来显示,那么就可以设置这个属性,在显示的时候我们用到了一个HyperLinkField,用来显示一个超级链接,它的设置如
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1