Я пытаюсь использовать 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, который я получу на стороне сервера.Поэтому я не могу понять, как внести и сохранить какие-либо изменения в сетке!
Любая подсказка?