三十一:使用DataList来一行显示多条记录
更新时间:2023-10-22 02:50:01 阅读量: 综合文库 文档下载
- 三十一军推荐度:
- 相关推荐
在ASP.NET 2.0中操作数据之三十一:使用DataList来一行显示多条记录 作者:heker2007 字体:[增加 减小] 类型:转载时间:2016-05-09 我要评论 ASP.NET 2.0中DataList默认情况使用单列多行的table来显示项,本文介绍通过设置RepeatColumns属性为每行的列数就可以达到显示多条记录这个目的。 导言 在前两章的做的DataList的例子里我们都是使用单列的HTML来显示数据.而自定义使DataList将数据显示在多列多行的table里也非常容易.而且还可以以单行多列来显示数据. 我们可以通过RepeatColumns和RepeatDirection属性来自定义DataList.这两个属性决定了数据显示时候的列数和方向(水平或垂直).图1是以一个3列的table来显示product信息的DataList例子. 图 1: DataList 一行显示三条product信息 通过一行显示多条记录,DataList可以更有效的利用屏幕的水平空间.在这章里我们将探讨这两个属性. 第一步: 在 DataList显示Product信息 在学习RepeatColumns和RepeatDirection属性前,我们先用标准的单列多行DataList显示Product信息.我们使用下面的标记语言来显示product的name,category和price: ? 1 2
Product Name
Available in the Category Name store for Price 在前面的教程里我们已经做过如何将数据绑定到DataList,因此这一步我们很快带过.打开DataListRepeaterBasics文件夹下的RepeatColumnAndDirection.aspx页,拖一个DataList进去.从DataList的智能标签里创建一个ObjectDataSource,使用ProductsBLL类的GetProducts方法配置.在INSERT,UPDATE和DELETE标签里选择None.在创建完ObjectDataSource并绑定到DataList后,Visual Studio会自动创建一个显示product字段的name和value的ItemTemplate.调整ItemTemplate— 通过直接修改标记语言或智能标签里的Edit Templates选项— 将Product Name, Category Name和Price文本用Label控件来替代,用合适的绑定语法将分配的值绑定到Text属性.在做完这些后,你的页的标记语言看起来应该和下面差不多: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
注意在UnitPrice的Eval绑定语法里我包含了一个格式符,用来将值转换为货币格式- Eval(\在浏览器里浏览这个页,如图2所示,DataList以单列多行的table显示product信息.
DataSourceID=\
Available inthe
Text='<%# Eval(\
store for
OldValuesParameterFormatString=\ SelectMethod=\
图 2: 默认情况下DataList 显示一个单列多行的table 第二步: 修改DataList的布局方向
默认情况下DataList垂直的用单列多行table来显示项(item).这个可以通过RepeatDirection属性来修改.将RepeatDirection属性从Vertical改为Horizontal后,DataList会以单行多列显示数据.可以在设计器里选择RepeatDirection属性窗口修改这个属性.修改完后设计器马上会调整DataList的布局,创建一个单行多列的界面(见图3).
图 3: RepeatDirection属性用来决定DataList的项的布局方向
当显示小数据量时,一个单行多列的table是一个理想的选择.而大数据量时,单行需要很多列,屏幕会因为显示不了这么多项而出现水平滚动条.图4显示在单行的DataList里显示product信息的情况.因为product的数量太多(81),用户不得不向右滚动来查看每个product的信息.
图 4: 大数据量时单列的DataList会有水平滚动条, 第三步: 以多列多行的table来显示数据
为了创建多行多列的DataList,我们需要设置RepeatColumns属性为显示的列数.默认的RepeatColumns属性为0,因此DataList会单列或单行的显示所有的项(取决于RepeatDirection属性的值).
我们将在例子里每行显示3个product.因此设置RepeatColumns属性为3.做完这个后,在浏览器里浏览页面.如图5所示,product显示以3列多行列出.
图 5: 每行显示3条product
RepeatDirection属性影响DataList的项的布局.图5显示的是RepeatDirection为Horizontal的情况.注意最前面的三个product — Chai, Chang, and Aniseed Syrup — 是先从左到右,再从上到下列出.后面的三个product(从Chef Anton's Cajun Seasoning开始)在开始三个下面的一行里.将RepeatDirection改为Vertical,这些product的布局变为先从上到下,再从左到右.见图6.
图 6: Products 垂直布局
在最后的table里有多少行取决于记录的总数除以RepeatColumns的值.由于有84条product信息,除以3为28行.如果还有余数,最后的行或列会用空的cell填充.如果RepeatDirection为Vertical,那么最后的列会有空cell.如果RepeateDirection为Horizontal,那么最后的行有空cell. 总结
DataList默认情况使用单列多行的table来显示项.和GridView只有一个TemplateField差不多.我们可以一行显示多条记录来.仅仅是设置RepeatColumns属性为每行的列数就可以达到这个目的.另外,RepeatDirection属性可以用来指定多行多列的table的内容是水平布局 —先从左到右,再从上到下 —或垂直的 —先从上到下,再从左到右.
正在阅读:
2018版语文:第1部分 3 提分攻略2“4步走”分析比较新闻材料的异同点含解析12-28
四年级口算1000题06-11
浅谈音乐课堂深化民族音乐的教学策略01-02
八年级物理第二学期期中质量检测试卷(新人教版,含答案,中等难度)-06-10
SUP-13试铺方案11-10
安徽省人民政府关于认真实施国务院关于深化城镇住房制度改革决定06-05
日常安全教育记录 表408-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 多条
- 一行
- DataList
- 记录
- 使用
- 显示
- 三十一