具有极大数据表的客户端表呈现

时间:2008-12-09 03:20:58

标签: xml internet-explorer firefox data-binding cross-browser

问题:客户X要求重新考虑使用MSIE中的XML DataBinding和Databound表的页面以跨浏览器工作。

问题:模仿MSIE跨浏览器MSIE DataBinding功能的最佳实践方法是什么(即在MSIE和Firefox中)。

功能:客户X已在单个网页中使用MSIE DataBinding获得以下内容...

  • 一个single-url xml dump作为数据源(假设没有服务器端分页,没有跨域问题)
  • 网页标记除了指定数据源URL(就像MSIE一样)
  • 能够加载非常大的表(例如最少3k记录)而不会在客户端触发javascript“内存不足”或“延迟”错误
  • 能够在普通HTML表格元素中执行此操作并且可以进行行条带化(可选但不需要,因为MSIE已经不执行此操作)

背景:您可能必须熟悉MSIE DataBinding才能与此特定问题保持同步。 MSIE的这一功能允许您指向单个XML数据源(没有特定模式,只要它在标准“表”中),并且浏览器可视和异步地呈现数据。

这样做的好处是页面可以快速呈现,因为在向用户显示某个输出之前,页面加载不会等待整个表格被填充。表行逐渐填充。

错误开始:客户X已尝试并拒绝以下内容。

  • JQuery:非常适合加载数据和可清理维护的HTML标记,但是大型数据源在呈现客户端时会导致延迟和内存问题
  • XSLT:这会吓到客户X,因为它涉及的不仅仅是在< table>上指定“datasource”属性。标签,因此在他看来似乎不太可维护
  • 服务器端数据分页:这不是一个选项,因为客户X虔诚地想要避免在服务器端分割XML数据或进行任何“数据整理”。

2 个答案:

答案 0 :(得分:1)

除了Javascript / XSLT和服务器端,你真的没有任何其他选项。

我可能会使用XSLT,针对它的论据完全没有实际意义 - “因为它涉及的不仅仅是在< table >标签上指定”datasource“属性“ - * ANY * 解决方案将比仅指定”数据源“更复杂。

我不确定该页面是否会逐步加载XSLT,否则蜘蛛感觉会提示。任何人吗?

如果失败,你总是可以使用服务器端选项,也可以使用任何分页。您仍然可以逐步加载页面。就浏览器而言,它只是常规的html。

答案 1 :(得分:1)

您最好的选择可能是使用CSS来根据需要格式化输出。