【问题标题】:ASP.NET Grid View vs. List ViewASP.NET 网格视图与列表视图
【发布时间】:2010-10-27 20:59:50
【问题描述】:

使用listview 比gridview 有什么优势?我需要在视图中进行分页、编辑行、插入行和删除行。哪种控制最适合?似乎 GridView 不支持数据寻呼机。如果我将网格视图迁移到列表视图,我会牺牲什么?

【问题讨论】:

    标签: .net asp.net listview gridview


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      它真的取决于/要求使用哪个控件的场景
      Listview 完全是模板驱动并支持插入记录,您可以使用常规的 html 表格并使用 CSS 对其进行样式来呈现数据,您对设计布局有很大的控制权。
      另一方面,GridView,您可以插入记录,但这可能涉及使用 页脚和您的 objectdatasource_inserting 事件。您需要在gridview页脚中找到并捕获输入的数据,然后直接添加到您的objectdatasource的输入参数中。

      【讨论】:

        【解决方案3】:

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

        ListView 控件支持以下功能:

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

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

          内置排序功能。

          内置更新和删除 能力。

          内置插入功能。

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

          内置项目选择功能。

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

          多个关键字段。


          GridView 在表格中显示数据源的值,其中每列代表一个字段,每行代表一条记录。 GridView 控件使您能够选择、排序和编辑这些项目。

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

        • 绑定到数据源控件,例如 作为 SqlDataSource。

          内置排序功能。

          内置更新和删除 能力。

          内置分页功能。

          内置行选择功能。

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

          多个关键字段。

          多个数据字段 超链接列。

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

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

        【讨论】:

          【解决方案4】:

          This article is particularly useful 进行比较。

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

          在我看来,ListView 本身就是从 ASP.NET 2.0 迁移到 3.5 的一个很好的理由。

          【讨论】:

            【解决方案5】:

            GridView 支持:

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

            ListView 支持:

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

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

            使用 GridView更简单、更快捷,所以除非您需要特殊的布局来显示数据,否则请使用 GridView。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2014-12-08
              • 1970-01-01
              • 2011-03-11
              • 1970-01-01
              • 1970-01-01
              • 2011-07-26
              • 1970-01-01
              相关资源
              最近更新 更多