2012-03-11 44 views
0

数据提供者在SQL Server数据库表X中为我们提供了动态报告数据。还有一个元数据表Y,它包含报告计数和列(以分号分隔的字符串)。在报告数据表X中,有一个文本字段,它保存所有数据,用分号分隔。提供商这样做是动态的,我不能影响这种选择。在MVC3查看表中动态显示CSV

我需要:

  • 负载从Y上的元数据
  • 负载从X数据从Y上所选报告
  • 显示在网页上的一个表中的数据

你会如何阅读模型/控制器中的内容并将其显示在webgrid/table中?对于具有固定列的模型,这很简单,但列何时动态变化呢?

当前的解决方案(感觉脏)是将数据解析到DataTable中,并从该对象手动输出视图中的行和表格单元格。没有用的WebGrid的,MvcContrib电网等

+0

不要评论你自己的问题,请用最新的信息编辑问题。 – 2012-03-11 16:45:09

回答

0

我选择了解析在我的MVC应用程序表数据到一个特定的三维模型:

基本对象

  • 报告
  • 列定义
  • 数据行

报告包含列定义和行计数列表 整数。它也有一个行列表。每行都有一个列值(单元)列表,在此代码中总是视为字符串,并且只使用列定义中的显示数据类型显示。我定义的数据类型是例如:文本,日期,数字,链接(我们的CRM系统的许多类型的链接,accountlink,userlink,orderlink)。我只在需要显示不同于现有的数据时添加新的数据类型。我可以想象有一天我需要图表数据类型(例如单元格数据是绘图点列表)。

这使得报表定义非常灵活,但我可能会牺牲一些性能,而且这纯粹是自定义的。我仍然喜欢这种方法的输入,但是在过去的6-7个月里没有任何反应可能意味着这是一个足够奇怪的场景,读者应该避免。