Dojo: Сохранение изменений с помощью EnhancedGrid с помощью JsonRestStore? - PullRequest
2 голосов
/ 01 февраля 2012

Я пытаюсь использовать EnhancedGrid и JsonRestStore:

<script type="text/javascript">
dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojox.data.JsonRestStore"); 

dojo.ready(function(){
/*set up data store*/
var store = dojox.data.JsonRestStore({
target: "test/id"
});

/*set up layout*/
var layout = [[
{name: 'Column 1', field: 'id', width: '100px',  editable : true},
{name: 'Column 2', field: 'col2', width: '100px',  editable : true, type : dojox.grid.cells.Bool},
{name: 'Column 3', field: 'col3', width: '200px'},
{name: 'Column 4', field: 'col4', width: '150px', editable : true, type : dojox.grid.cells.Select, options : ['ON','OFF'] , values: [ '0', '1' ]}
]];

/*create a new grid:*/
var grid = new dojox.grid.EnhancedGrid({
id: 'grid',
store: store,
structure: layout,
rowsPerPage: 5,
rowSelector: "20px",
selectionMode: "single",
},
document.createElement('div'));

/*append the new grid to the div*/
dojo.byId("gridDiv").appendChild(grid.domNode);

/*Call startup() to render the grid*/
grid.startup();
});
</script>
<style type="text/css">
@import "/js/dojox/grid/resources/claroGrid.css";

/*Grid need a explicit width/height by default*/
#grid {
width: 80em;
height: 40em;
}
</style>
<div id="gridDiv" class="claro"></div>

На стороне сервера у меня есть служба отдыха, которая обрабатывает запросы Get, Put, Post и Delete.

У меня есть две разные проблемы, но мне интересно, связаны ли они между собой:

1- Когда я дважды щелкаю по любой из редактируемых ячеек, все работает нормально, я могу изменить содержимое ячеек.Но тогда я не могу редактировать другие редактируемые ячейки.Независимо от того, на какой я нажимаю, я не смогу его редактировать.Например, если дважды щелкнуть ячейку «Выбрать», я смогу выбрать между двумя значениями: ВКЛ или ВЫКЛ.Но тогда я больше не могу редактировать другие ячейки.Ячейка, которую я только что отредактировал, будет отображаться со стрелкой, а его строка останется выделенной.

2 - Сервер никогда не получит никаких запросов PUT.Он будет получать запросы GET на начальном экране и при прокрутке сетки, но это единственный запрос REST, который я получу на стороне сервера.Поэтому я не могу понять, как внести и сохранить какие-либо изменения в сетке!

Любая подсказка?

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