【发布时间】:2010-10-27 20:59:50
【问题描述】:
使用listview 比gridview 有什么优势?我需要在视图中进行分页、编辑行、插入行和删除行。哪种控制最适合?似乎 GridView 不支持数据寻呼机。如果我将网格视图迁移到列表视图,我会牺牲什么?
【问题讨论】:
标签: .net asp.net listview gridview
使用listview 比gridview 有什么优势?我需要在视图中进行分页、编辑行、插入行和删除行。哪种控制最适合?似乎 GridView 不支持数据寻呼机。如果我将网格视图迁移到列表视图,我会牺牲什么?
【问题讨论】:
标签: .net asp.net listview gridview
ListView 让您可以更好地控制生成的 HTML 标记。
【讨论】:
它真的取决于/要求使用哪个控件的场景
Listview 完全是模板驱动并支持插入记录,您可以使用常规的 html 表格并使用 CSS 对其进行样式来呈现数据,您对设计布局有很大的控制权。
另一方面,GridView,您可以插入记录,但这可能涉及使用
页脚和您的 objectdatasource_inserting 事件。您需要在gridview页脚中找到并捕获输入的数据,然后直接添加到您的objectdatasource的输入参数中。
【讨论】:
Gridview 是最好的选择。您可以比任何其他控件更容易地完成您提到的所有事情。列表视图是从列表框派生的
ListView 控件支持以下功能:
支持绑定到数据源 SqlDataSource 等控件, LinqDataSource 和 ObjectDataSource。
通过自定义外观 用户定义的模板和样式。
内置排序功能。
内置更新和删除 能力。
内置插入功能。
支持分页功能 使用 DataPager 控件。
内置项目选择功能。
以编程方式访问 ListView 对象模型动态设置 属性、处理事件等。
多个关键字段。
GridView 控件用于在表格中显示数据源的值。每列代表一个字段,而每一行代表一条记录。 GridView 控件支持以下功能:
绑定到数据源控件,例如 作为 SqlDataSource。
内置排序功能。
内置更新和删除 能力。
内置分页功能。
内置行选择功能。
以编程方式访问 GridView 对象模型动态设置 属性、处理事件等。
多个关键字段。
多个数据字段 超链接列。
通过自定义外观 主题和风格。
了解其他数据绑定 可用的控件 ASP.NET,请参阅 ASP.NET 数据绑定 Web 服务器控件概述。
【讨论】:
This article is particularly useful 进行比较。
对我来说,这是您可以呈现的 HTML 的原始灵活性。在我正在开发的一个项目中,我使用的是 GridView,但替换为 ListView,因为我想要 GridView 无法提供的非常具体的分页要求。我本可以使用 3rd 方 gridview 来提供分页要求,但我想尽量减少对 3rd 方代码的依赖。
在我看来,ListView 本身就是从 ASP.NET 2.0 迁移到 3.5 的一个很好的理由。
【讨论】:
GridView 支持:
<table> 内呈现)ListView 支持:
使用 ListView 的原因是如果您需要一些特殊的布局,例如,创建一个在同一行中放置多个项目的表格,或者摆脱基于表格的完全渲染)- GridView 无法做到这一点。
使用 GridView 而更简单、更快捷,所以除非您需要特殊的布局来显示数据,否则请使用 GridView。
【讨论】: