Мне не нужно редактировать, я только могу выбрать (даже не выбирать несколько) строку с переключателем.Я не смог найти другой соответствующий пост.У меня уже есть несколько столбцов данных, но я не могу понять, как разместить переключатель в первом столбце каждой группы.
jqGrid отображает с невидимым столбцом - уникальный идентификатор, который я бынравится отправлять сообщения, когда пользователь нажимает кнопку.Этого должно быть достаточно для меня, чтобы работать с.Итак, мне также нужно иметь возможность определить, какая строка была выбрана, когда я запускаю $.ajax({...});
На сайте не хватает документации, чтобы я мог это выяснить.Я искал какой-то API, но он существует только для PHP.Вот как я генерирую свою сетку в модели:
return new JQGrid
{
Columns = new List<JQGridColumn>()
{
new JQGridColumn
{
DataField = "CallID", //this is the unique ID I need to postback
Visible = false
},
new JQGridColumn
{
DataField = "Name",
HeaderText = "Full Name",
PrimaryKey = false,
Editable = false,
Width = 120
},
new JQGridColumn
{
DataField = "CallStartTime",
HeaderText = "Call Placed On",
PrimaryKey = false,
Editable = false,
Width = 130
}
}
};
Edit
Я думал об использовании jQuery для ручного изменения HTML, если я отображаю столбец ID видимым.Однако .jqGrid({options});
, похоже, не обладает свойством для запуска кода после загрузки сетки.
Я мог бы загрузить сетку следующим образом:
$('#list').jqGrid({
url: 'SearchTestGridDataRequested',
datatype: 'json',
mtype: 'GET',
colNames: ['Select', 'Name', 'Call Placed On'],
colModel: [
{ name: 'CallID', index: 'CallID', width: 50 },
{ name: 'ModelName', index: 'ModelName', width: 120 },
{ name: 'CallStartTime', index: 'CallStartTime', width: 130, align: 'right' }],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
caption: 'Calls'
});
$('td[aria-describedby="list_CallID"]').each(function (i) {
var id = $(this).attr('title');
$(this).html('<input type="radio" value="' + id + '" name="selectedRow" />');
});
Но,задержка между сообщением ajax для запроса данных слишком велика, и я думаю, что код не выполняется.