ASP.NET 2.0运营数据31号:使用数据列表一行显示多条记录
介绍
在前两章完成的DataList的例子中,我们都使用单列的HTMLtable来显示数据。DataList通过自定义显示多列多行表中的数据也非常容易,也可以显示单行多列的数据。
我们可以通过重复列和重复方向属性来自定义数据列表。这两个属性决定了显示数据时列的数量和方向(水平或垂直)。图1是一个数据列表的例子,用一个3列的表格显示产品信息。
图1:数据列表在一行中显示了三条产品信息。
通过在一行中显示多条记录,数据列表可以更有效地利用屏幕的水平空间。在本章中,我们将讨论这两个属性。
第一步:在数据列表中显示产品信息。
在学习RepeatColumns和RepeatDirection属性之前,我们首先使用标准的单列和多行数据列表来显示产品信息。我们使用以下标记语言来显示产品的名称、类别和价格。
H4产品名称/H4可在品类名称商店中获得价格在上一个教程中,我们已经完成了如何将数据绑定到数据列表。因此,我们很快迈出了这一步。打开“数据列表重复基础”文件夹下的“重复列”页面,并将一个数据列表拖到其中。从DataList的智能标记创建一个ObjectDataSource,并使用ProductsBLL类的GetProducts方法对其进行配置。在插入、更新和删除标记中选择无。
创建对象数据源并绑定到数据列表后,Visual Studio将自动创建一个显示产品字段名称和值的项目模板。调整item template-通过直接修改标记语言或智能标记中的“编辑模板”选项-添加产品名称,类别名称和价格文本由标签控件替换,分配的值通过适当的绑定语法绑定到文本属性。完成后,页面的标记语言应该类似于下面的:
asp333目录ID=' datalist 1 ' runat=' server ' DataKeyField=' ProductID ' data sourceid=' objectdata source 1 ' EnableViewState=' False ' item template H4 asp333 60 label runat=' server ' ID=' productnamelab ' Text=' % # Eval(' product name ')% '/asp: label/H4在asp: label runat=' server ' ID=' CategoryNameLabel ' Text=' % #中可用在浏览器中浏览这个页面,如图2所示,DataList显示为一个单列多行的表。
图2:默认情况下,数据列表显示一个具有单列和多行的表。
步骤:修改数据列表的布局方向。
默认情况下,数据列表在单列和多行表中垂直显示项目。这可以通过“重复方向”属性进行修改。将“重复方向”属性从“垂直”更改为“水平”后,数据列表将以单行和多列显示数据。您可以在设计器中选择“重复方向”属性窗口来修改此属性。修改后,设计人员会立即调整DataList的布局,创建一个单行多列的界面(见图3)。
图3: RepeatDirection属性用于确定数据列表中项目的布局方向。
当显示少量数据时,单行多列的表是理想的选择。当显示大量数据时,单行需要多列,屏幕上会出现水平滚动条,因为无法显示这么多项目。图4显示了在一行数据列表中显示产品信息的情况。因为产品太多(81),用户必须向右滚动才能查看每个产品的信息。
图4:当有大量数据时,单列中的数据列表会有水平滚动条。
在第三步:中,数据显示在具有多列和多行的表格中。
要创建多行多列的数据列表,我们需要将RepeatColumns属性设置为显示的列数。默认的RepeatColumns属性为0,因此数据列表将显示单行或单行中的所有项目(取决于RepeatDirection属性的值)。
在示例中,我们将显示每行三个产品。因此,请将RepeatColumns属性设置为3。之后,在浏览器中浏览页面。如图5所示,产品显示列在三列以上。
图5:显示每条生产线有3个产品。
RepeatDirection属性会影响数据列表中项目的布局。图5显示重复方向是水平的。请注意,前三种产品——柴、常和八角糖浆——是从左到右。它从上到下列出。后三种产品(从安东大厨的卡津调料开始)在前三个较低的行中。将“重复方向”更改为“垂直”,这些产品的布局将从上到下,然后从左到右发生变化。参见图6。
图6:产品垂直布局。
最终表中的行数取决于记录总数除以重复列数。因为有84条产品信息,除以3就是28行。如果有余数,最后一行或最后一列将被空单元格填充。如果“重复方向”为“垂直”,最后一列将有空单元格。如果重复方向为水平,最后一行将有空单元格。
摘要
默认情况下,数据列表使用具有单列和多行的表来显示项目。与GridView类似,只有一个TemplateField。我们可以在一行中显示多条记录。这只能通过将RepeatColumns属性设置为每行的列数来实现。此外,RepeatDirection属性可用于指定具有多行和多列的表的内容先从左到右,然后从上到下进行水平布局,或者先从上到下,然后从左到右进行垂直布局。
作者简介
斯科特米切尔,六本关于ASP/ASP的书的作者。NET,是4GuysFromRolla.com的创始人,自1998年以来一直使用微软的网络技术。Scott是一名独立的技术顾问、培训师和作家,最近完成了一部即将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电子邮件是[emailprotected],也可以通过他的博客http://ScottOnWriting.NET联系到他。
版权声明:ASP.NET 2.0运营数据31号:使用数据列表一行显示多条记录是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。