Отображать CSV динамически в таблице представлений MVC3 - PullRequest
0 голосов
/ 11 марта 2012

Поставщик данных предоставляет нам данные динамического отчета в таблице базы данных SQL Server X. Существует также таблица метаданных Y, которая содержит количество отчетов и столбцы (в виде строки, разделенной точкой с запятой).В таблице данных отчета X есть текстовое поле, которое содержит все данные, разделенные точкой с запятой.Поставщик делает это, чтобы быть динамичным, и я не могу повлиять на этот выбор.

Мне нужно:

  • Загрузить метаданные из Y
  • Загрузитьданные из X для выбранного отчета из Y
  • Отображение данных в таблице на веб-странице

Как бы вы прочитали это в модели / контроллере и отобразили вWebGrid / таблица?Для моделей с фиксированными столбцами это просто, но что делать, когда столбцы динамические?

Текущее решение (кажется грязным) - это проанализировать данные в DataTable и вручную вывести строки и ячейки таблицы в представлении изэтот объект.Не использовать WebGrid, MvcContrib Grid и т. Д.

1 Ответ

0 голосов
/ 17 сентября 2012

Я решил проанализировать данные таблицы в конкретной модели измерений в моем приложении MVC:

Базовые объекты

  • Доклад
  • Определение столбца
  • Строка данных

Отчет содержит список определений столбцов и целое число строк. Он также имеет список строк. Каждая строка имеет список значений столбцов (ячеек), который в этом коде всегда рассматривается как строка и отображается только с использованием типа данных отображения из определения столбца.

Определены мои типы данных, например: текст, дата, номер, ссылка (многие типы ссылок на нашу систему CRM, ссылка на учетную запись, ссылка на пользователя, ссылка на заказ). Я добавляю новые типы данных, только если мне нужно отображать их не так, как существующие. Я могу себе представить, что когда-нибудь мне понадобится тип данных диаграммы (например, данные ячейки - это список точек графика).

Это делает определение отчета очень гибким, но я, вероятно, жертвую некоторой производительностью, и оно чисто пользовательское. Я все еще хотел бы получить информацию об этом подходе, но никаких ответов за последние 6-7 месяцев, вероятно, означает, что это достаточно странный сценарий, которого вы, читатель, должны избегать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...