Я пытаюсь обратиться за помощью и исправить проблему с представлением выпадающего значения в jqGrid для редактирования формы, но пока не удалась.
У меня JSON, который содержит BankId. Мне нужно показать имя BankName в jqGrid, а при редактировании формы мне нужно показать это поле как раскрывающееся со списком имен банков. Я изменил сервис, чтобы вернуть BankName в дополнение к BankId. Я показываю BankName в сетке. В режиме редактирования я использую dataurl для чтения другого JSON для BankId и BankName. Я использую 'buildSelect' для построения строки с форматированием html для раскрывающегося списка, с "значением", заданным как BankId, и "text", установленным как BankName.
Проблема заключается в том, что пользователь выбирает BankName из dropdwon и отправляет форму, представленное JSON имеет значение BankId, переданное в столбце BankName JSON.
Например, сначала строка связывается с данными ниже:
{"Id":2,"BankId":2, "BankName":"Bank of America", "EmployeeId":2232,"JoiningDate":"2001-12-23T00:00:00","SalaryAmount":30000.0,"Comments":"test"}
Когда я изменяю имя банка в раскрывающемся списке и отправлю форму, данные JSON публикуются ниже:
{"Id":2,"BankId":2, "BankName":"3", "EmployeeId":2232,"JoiningDate":"2001-12-23T00:00:00","SalaryAmount":30000.0,"Comments":"test"}
Проблема - после того, как значение параметра раскрывающегося списка установлено в BankId, BankId отправляется в столбце BankName. Я могу иметь значение BankName как поле значений, поэтому поле текстового поля и значения, которое имеет значение BankName и отправлено в BankName, опубликовано. Однако я хочу представить BankId вместо BankName в JSON, отправленном на сервер, однако BankId должен быть передан в поле BankId JSON, а не в BankName. Как я могу это достичь?
Большое спасибо,
Abhilash
Я обычно использую два столбца для такого рода работ... Один для показа в BankName, который будет показывать имя банка, также он не редактируется. И другой скрыт и появится в добавлении или редактировании. Упование помогает
{ name: 'BankName', index: 'BankName', align: 'center', editable: false },
{
name: 'BankId', index: 'BankId', align: 'center', hidden: true, viewable: true, editrules: { edithidden: true },
editable: true, stype: 'select',
edittype: 'select',
editoptions: {
dataUrl: url to get bank ids
buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.VALUE+ '">' + this.TEXT + '</option>';
});
}
return s + '</select>';
},
}
},