2015-09-03 2 views
1

Я просмотрел документацию, но, возможно, я упустил из виду то, что, как я полагаю, является простой задачей. Можно ли предоставить функцию пользовательской привязки, чтобы в массиве объектов каждый объект соответствовал одной ячейке, а не каждому объекту, соответствующему полной строке? Будет ли эта привязка поддерживать ссылку на исходный объект, чтобы данные изменились после изменения в электронной таблице?Пользовательские привязки массива объектов?

Например, я хочу создать следующий лист:

Example spreadsheet

С JSON в этой структуре:

[ 
    { 
     "name": "USA", 
     "year": 2015, 
     "sales": 1, 
    }, 
    { 
     "name": "USA", 
     "year": 2016, 
     "sales": 2, 
    }, 
    { 
     "name": "USA", 
     "year": 2017, 
     "sales": 3, 
    }, 
    { 
     "name": "Canada", 
     "year": 2015, 
     "sales": 4, 
    }, 
    { 
     "name": "Canada", 
     "year": 2016, 
     "sales": 5, 
    }, 
    { 
     "name": "Canada", 
     "year": 2017, 
     "sales": 6, 
    } 
] 

ответ

1

Вы должны смотреть на columns определение. Там вы можете определить источник данных для каждого столбца, чтобы он выполнял итерацию по вашим объектам и задавал значения каждого столбца с идентификатором для этого столбца. И да, он использует ссылки, поэтому, если вы их редактируете, ваши объекты также будут отредактированы.

+0

Я прочитал как http://docs.handsontable.com/0.17.0/Options.html#columns, так и http://handsontable.com/demo/datasources.html?_ga=1.19807611.2130437994.1441283583, но я не вижу подобных примеров. Например, если я укажу определение 'columns' как' columns: [{data: "name"}, {data: "sales"} ', я получу строку для каждого объекта, тогда как мне нужна ячейка для каждого вместо этого из-за структуры моего источника данных JSON. Есть ли функция опций 'column' для этого? – TimeBomb006

+1

Да, вы можете использовать 'cells' вместо' columns'. Такая же идея, но вы указываете ее для каждой ячейки с использованием индексов 'row' и' col'. – ZekeDroid

+1

Посмотрите на последний пример здесь: http://docs.handsontable.com/0.17.0/demo-read-only.html – ZekeDroid

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