【发布时间】:2023-03-07 02:16:01
【问题描述】:
我不需要编辑,只能用单选按钮选择(甚至不能多选)行。我还没有找到另一个相关的帖子。我已经有几列数据,但我不知道如何在每组的第一列中放置一个单选按钮。
jqGrid 呈现一个不可见的列——当用户单击一个按钮时我想发布一个唯一的 ID。这对我来说应该足够了。所以,我还需要能够识别当我触发$.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
}
}
};
编辑
如果我使 ID 列可见,我考虑过使用 jQuery 手动更改 HTML。但是,.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 post请求数据之间的延迟太长了,我猜代码没有执行。
【问题讨论】: