2015-02-05 2 views
1

Как правило, ExtJS отображает JSON в сетку, учитывая, что свойства переходят в верхние столбцы и их число фиксировано. И соответствующие значения загружаются в строки в виде записей. Здесь количество строк может меняться в зависимости от записей в Json.Как иметь заголовки в первом столбце вместо обычных заголовков в верхнем ряду?

Но есть небольшое изменение в моем требовании. Я хочу, чтобы свойства переходили в первую строку и соответствующие столбцы. Здесь количество столбцов может меняться в зависимости от записей в Json.

Я хочу сделать что-то вроде изображенных ниже:

+-----------------+------------+---------------+ 
|     | Column 1 | Column 2 | 
+------------------------------+---------------+ 
| Row Header 1 | ...  |    | 
+------------------------------+---------------+ 
| Row Header 2 |   |    | 
+------------------------------+---------------+ 
| Row Header 3 |   |    | 
+----------------------------------------------+ 

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

http://docs.sencha.com/extjs/4.2.3/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#grouped-header-grid

Я даже достиг этого с помощью решения, описанного здесь:

How to get the Row Headers functionality in ExtJs?

Но в этом случае, JSON оленья кожа хорошо выглядеть и не кажутся ремонтопригодны, так как, когда мы хотим, чтобы добавить запись, мы должны добавить другое свойство ко всем элементам массива:

{ [ 

    { prop1 : value, prop2 : value }, 
    { prop1 : value, prop2 : value }, 

    // to add new record, we need to do below : 

    { prop1 : value, prop2 : value, prop3 : value }, 
    { prop1 : value, prop2 : value, prop3 : value } 


] } 

В отличие от добавления элемента массива с фиксированные свойства в случае регулярной сетки ExtJS:

{ [ 

    { prop1 : value, prop2 : value }, 
    { prop1 : value, prop2 : value }, 

    // to add new record, we need to do below : 

    { prop1 : value, prop2 : value }, 
    { prop1 : value, prop2 : value }, 

    { prop1 : value, prop2 : value } 


] } 

Данные, которые должны быть загружены в сетке огромна и не предсказуемые строки. Пожалуйста, дайте мне знать правильный способ его достижения и поддерживая оптимизированный/читаемый способ JSON-файла.

+2

Так как я думаю, что вам нужны различные типы данных в том же столбце, вы должны идти вперед и программы это полностью самостоятельно. Должно быть выполнимо менее чем за год, я думаю. – Alexander

+0

Я думаю, вам стоит изучить скрипт на стороне сервера, чтобы получить более подходящий json. –

+0

, но если я хочу доставить структуру пользовательского интерфейса в вышеупомянутом формате, нет другого способа украсить файл Json. :( –

ответ

0

Там нет понятия заголовков столбцов в Ext, тем не менее, вы можете добиться аналогичной функциональности с фиксирующей сеткой: http://dev.sencha.com/ext/5.1.0/examples/kitchensink/#spreadsheet

+0

Я тоже посмотрел на этот подход, но опять же, он собирается создать проблему Json, о которой я упоминал в вопросе. Не так ли? –

+0

Ну, JSON, полученный с сервера, должен содержать «Row Header [123 ] "в качестве значений для столбца 0 - столбец 0 имеет пустой заголовок. – Saki

Смежные вопросы