ASP.NET网格视图与列表视图
在gridview上使用listview有什么好处? 我需要分页,编辑行,插入行,删除我的视图中的行。 哪个控制最适合? 看来GridView不支持数据寻呼机。 如果我将GridView迁移到列表视图,我会牺牲什么?
GridView支持:
- 通过点击sorting
- 分页
- 编辑
- select
- 基于模板的布局(在
<table>
呈现)
ListView支持:
- 项目清单
- 分页(需要使用DataPager)
- 编辑
- select
- 点击sorting(需要手动创build一个事件处理程序)
- 基于模板的布局(根据需要呈现+提供更多模板,例如 – GroupTemplate)
使用ListView的原因是,如果你需要一些特殊的布局 ,例如,创build一个表,在同一行放置多个项目,或从基于表格的渲染中完全脱离) – 这是不可能的与GridView 。
另一方面, 使用GridView 更加简单快捷 ,除非需要特殊的布局来显示数据,否则使用GridView。
本文对比较特别有用 。
对我来说,这是您可以呈现HTML的原始灵活性。 在我正在开发的一个项目中,我使用了一个GridView,但用ListViewreplace了,因为我想要GridView无法提供的特定的分页需求。 我本可以使用第三方的gridview来提供分页的要求,但我想尽量减less对第三方代码的依赖。
在我看来,ListView是从ASP.NET 2.0迁移到3.5的一个很好的理由。
其真实依赖/要求控制使用的场景
ListView完全是模板驱动的,并且支持插入logging,你可以使用一个普通的html表格,并用CSS来显示数据,你可以很好地控制devise布局。
另一方面,GridView,你可以插入logging,但可以涉及使用页脚和objectdatasource_inserting事件。 您需要在gridview页脚中查找并捕获input的数据,然后直接添加到objectdatasource的input参数中。
ListView使您可以更好地控制生成的HTML标记。
Gridview是最好的select。 你可以做所有你提到的事情比任何其他控制更容易。 一个列表视图是从ListBox派生的
ListView控件支持以下function:
-
支持绑定到数据源控件,如SqlDataSource,LinqDataSource和ObjectDataSource。
通过用户定义的模板和样式自定义外观。
内置分类function。
内置更新和删除function。
内置插入function。
通过使用DataPager控件支持分页function。
内置项目selectfunction。
编程访问ListView对象模型来dynamic设置属性,处理事件等。
多个关键字段。
GridView在表格中显示数据源的值,其中每列表示一个字段,每行表示一条logging。 GridView控件使您可以select,sorting和编辑这些项目。
GridView控件用于在表中显示数据源的值。 每列表示一个字段,而每一行表示一个logging。 GridView控件支持以下function:
-
绑定到数据源控件,如SqlDataSource。
内置分类function。
内置更新和删除function。
内置分页function。
内置行selectfunction。
通过编程访问GridView对象模型来dynamic地设置属性,处理事件等等。
多个关键字段。
超链接列的多个数据字段。
通过主题和样式自定义外观。
要了解ASP.NET中可用的其他数据绑定控件,请参阅ASP.NET数据绑定Web服务器控件概述。