ASP.NET网格视图与列表视图

时间:2009-05-21 08:41:54

标签: .net asp.net listview gridview

使用listview而不是gridview有什么好处?我需要分页,编辑行,插入行和删除视图中的行。哪种控制最适合?看起来GridView不支持数据寻呼机。如果我将网格视图迁移到listviews,我会牺牲什么?

5 个答案:

答案 0 :(得分:53)

GridView支持:

  • 点击
  • 排序
  • 寻呼
  • 编辑
  • 选择
  • 基于模板的布局(在<table>内呈现)

ListView支持:

  • 列表项
  • 分页(需要使用DataPager)
  • 编辑
  • 选择
  • 点击排序(需要手动创建事件处理程序)
  • 基于模板的布局(根据需要进行渲染+提供更多模板,例如 - GroupTemplate)

使用ListView的原因是,如果您需要一些特殊的布局,例如,创建一个表格,将多个项目放在同一行中,或者从基于表格中解脱完全渲染) - 这是GridView无法实现的。

另一方面

使用GridView 更容易,更快,因此除非您需要特殊的布局来显示数据,否则请使用GridView。

答案 1 :(得分:11)

This article is particularly useful进行比较。

对我来说,这是您可以呈现的HTML的原始灵活性。在我正在开发的项目中,我使用的是GridView,但替换为ListView,因为我想要GridView无法提供的非常具体的分页要求。我本可以使用第三方gridview来提供分页要求,但我想尽量减少对第三方代码的依赖。

我认为单独使用ListView是从ASP.NET 2.0迁移到3.5的一个很好的理由。

答案 2 :(得分:3)

它真正依赖/要求控制使用的场景
Listview完全是模板驱动并支持插入记录,你可以使用常规的html表格并用CSS来设置数据来呈现数据,你可以很好地控制设计布局。
另一方面,GridView可以插入记录,但这可能涉及使用  页脚和您的objectdatasource_inserting事件。您需要在gridview页脚中查找并捕获输入的数据,然后直接添加到objectdatasource的输入参数中。

答案 3 :(得分:2)

ListView使您可以更好地控制生成的HTML标记。

答案 4 :(得分:0)

Gridview是最佳选择。你可以比任何其他控件更容易地完成你提到的所有事情。列表视图派生自ListBox

ListView控件支持以下功能:

  • 支持绑定到数据源 控件,如SqlDataSource, LinqDataSource和ObjectDataSource。

    通过自定义外观 用户定义的模板和样式。

    内置排序功能。

    内置更新和删除 能力。

    内置插入功能。

    支持分页功能 使用DataPager控件。

    内置项目选择功能。

    以编程方式访问ListView 对象模型动态设置 属性,处理事件等。

    多个关键字段。

    <小时/> GridView显示表中数据源的值,其中每列表示一个字段,每行表示一个记录。 GridView控件使您可以选择,排序和编辑这些项目。

GridView控件用于显示表中数据源的值。每列代表一个字段,而每一行代表一个记录。 GridView控件支持以下功能:

  • 绑定到数据源控件等 作为SqlDataSource。

    内置排序功能。

    内置更新和删除 能力。

    内置分页功能。

    内置行选择功能。

    以编程方式访问GridView 对象模型动态设置 属性,处理事件等。

    多个关键字段。

    的多个数据字段 超链接列。

    通过自定义外观 主题和风格。

    了解其他数据绑定 可用的控件 ASP.NET,请参阅ASP.NET Data-Bound Web 服务器控件概述。