在网格状结构中显示动态数据的最佳方式

时间:2010-09-01 05:19:44

标签: asp.net gridview listview dynamic-data

我有一个要求,我不会在设计时知道列和任何结果集信息,所以我会动态生成数据显示控件。

考虑到以下参数(按重要性顺序),在ASP.NET页面上的表格/网格结构中即时显示此类信息的最合适方式是什么:

  1. 性能
  2. 扩展
  3. 可用性
  4. 我知道我可以动态生成gridview / repeater / listview控件,但我想了解的是哪个选项(来自所述选项或其他任何选项)将是最佳解决方案。

    P.S。分页和排序是所需功能的一部分,但如果解决方案势不可挡,则可能会被忽视。 :)

    感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我认为性能在很大程度上取决于数据提供者:分页和排序(和过滤)数据在处理数据库时很容易成为最昂贵的任务 - 因此选择渲染器(GridView / listview / repeater)更依赖于你对这种特殊控制的安慰。

就可扩展性选项而言 - Repeater显然是最“重” - 但你肯定承诺维护一个代码循环并包装你的数据并将其转换为“列”(手动编写元素?)在你的repeaterItems中。 GridView似乎提供了更好的行和列支持。

可用性:我真的正在研究一些允许在使用AJAX的网格上进行排序/分页的现代技术 - ASP.NET AJAX或是的,它肯定会变得更容易,我会说它, jQuery。我建议的基本概念是:通过Web方法(ScriptService属性)将数据提供给Javascript,Javascript将在浏览器上呈现表并处理分页/排序请求(AJAX调用回ScriptService) )。它响应速度更快,并且通常允许比内置控件更丰富的UI。查看jQGrid

答案 1 :(得分:0)

包含排序和分页的列和行:如果您想要添加,删除,选择和编辑,我将使用gridview。