Как реализовать Excel, например, сетку редактирования деталей заказа.
Эта сетка должна быть похожа на Excel:
- предпочтительно клавиши со стрелками вверх / вниз для перехода к предыдущей / следующей строке и начала ячейкиредактирование
- Все ячейки всегда находятся в режиме редактирования или режим редактирования запускается, если нажата клавиша со стрелкой вверх / вниз или ячейка получает фокус другим способом.
- Вкладка перемещается к следующей ячейке в строке
- Кнопка «Отправить» отправляет все строки в контроллер ASP .NET MVC на сервере.
Разумно ли / как реализовать это с помощью jqGrid?Все примеры jqGrid, которые я нашел, не позволяют использовать клавиши со стрелками вверх для перемещения следующей / предыдущей строки в режиме редактирования.Если jqGrid не является разумным, где найти другой бесплатный компонент, который может использоваться для реализации этого?Где найти пример кода для этого?
Обновление 1
Я сделал вопрос более точным и, надеюсь, проще:
Как включить стрелки вверх и внизклавиши в режиме встроенного редактирования в jqgrid
Как заставить стрелку вверх перемещать предыдущую строку и клавишу со стрелкой вниз в следующую строку в режиме встроенного редактирования?
Желаемое действие может быть:
- Текущая строка должна быть сохранена
- Если сохранение было успешным и существует следующая / предыдущая строка, фокус должен быть перемещен в эту строку в том же столбце
- Должно начаться встроенное редактирование, и текущий столбец должен бытьто же самое.
Ссылка, которую обеспечивает Олег, показывает перемещение в следующую / предыдущую ячейку в той же строке в режиме редактирования ячейки.Как перейти к следующей / предыдущей строке во встроенном редактировании.Даже если можно реализовать некоторые из приведенных ниже шагов, это делает jqGrid более удобным для быстрого ввода данных.Я попробовал код ниже, но он не работает, так как, вероятно, нет входного элемента в другой строке.Решением было бы заставить jqgrid показывать все ячейки в режиме редактирования, тогда этот код можно использовать.Понятия не имею, это разумно / как реализовать.
<script>
$(document).ready(function () {
$("input.cell").keyup(function (e) {
switch (e.keyCode) {
// up arrow
case 40:
$(this).parent()
.parent()
.next()
.children("td")
.children("input.cell[name="
+ $(this).attr("name") + "]")
.focus();
break;
// down arrow
case 38:
$(this).parent()
.parent()
.prev()
.children("td")
.children("input.cell[name="
+ $(this).attr("name") + "]")
.focus();
break;
}
});
});</script>
Редактирование jqgrid и добавление строк с помощью клавиши "tab" предоставляет пример сохранения строки на клавише Tab, если я попытаюсь ее сохранитьиспользуя этот код или другую идею?