MVC - привязка данных без модели - PullRequest
1 голос
/ 12 ноября 2009

Хорошо, я объясню. Мне нужно создать сетку данных в MVC на лету (возможно, несколько сеток данных в представлении) в зависимости от файла XML, который читается. Файл проходит циклично и может содержать несколько сеток данных, заголовки и строки задаются в файле , Проблема в том, что мое приложение не будет знать содержимое файла XML до его чтения, поэтому я не могу применить его к модели IEnumerable. Идея состоит в том, чтобы сделать его универсальным, чтобы он мог читать в любом XML-файле, который я передаю ему, как указано ниже, и помещать данные в сортируемую сетку данных. Это вообще возможно с текущими средствами управления там? Я пробовал сетку Teleriks MVC, и хотя я могу читать данные в сетке, я не могу отсортировать данные, так как эта функция будет работать только при передаче DTO. Я чувствую, что то, что я ищу, не может быть сделано (если я не напишу пользовательский HTMLHelper или что-то еще), но спрашивать не вредно, я думаю

Мой xml будет таким

<xml>
  <REPORT>
     <HEADERS>
       <HEAD>Col1</HEAD>           
       <HEAD>Col2</HEAD>
     </HEADERS>         
     <ROWS>
       <ROW>Data1</ROW>           
       <ROW>Data2</ROW>
     </ROWS>
  </REPORT>
 </xml>

Спасибо

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

Я бы посмотрел в JQuery Grid. Вы должны конвертировать данные в нужный формат, но это дает вам большую гибкость и приятный пользовательский интерфейс бесплатно. Вам все равно нужно будет написать код сортировки.

1 голос
/ 13 ноября 2009

Я бы посоветовал использовать сетку jquery. Затем напишите класс для синтаксического анализа xml и генерации javascript-сетки в представлении, а также второе действие для повторного анализа xml и создания результата json. MVCCrud может помочь с идеей, что там есть общая сетка jquery, но она работает со списком IQueryable, поэтому ее необходимо адаптировать.

1 голос
/ 12 ноября 2009

Я не видел вспомогательного расширения, которое делает то, что вам нужно.

Есть несколько хороших, которые работают с общими коллекциями (например, Telerik или MVCContrib's ). Предоставленный вами образец не может быть переведен в коллекцию, которая будет обрабатываться этим: строка должна иметь ячейки, которые могут быть сопоставлены с элементами заголовка.

<xml>
  <REPORT>
     <HEADERS>
       <HEAD>Col1</HEAD>           
       <HEAD>Col2</HEAD>
     </HEADERS>         
     <ROWS>
       <ROW><CELL>Data1</CELL><CELL>Data2</CELL></ROW>           
       <ROW><CELL>Data2</CELL><CELL>Data4</CELL></ROW>
     </ROWS>
  </REPORT>
 </xml>

Если XML можно десериализовать в общую коллекцию, заполнить сетку легко.

Надеюсь, это поможет.

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