jqGrid ShowLink格式化程序-自定义ID参数

jqGrid ShowLink格式化程序-自定义ID参数,jqgrid,Jqgrid,我是不是错过了一些简单的东西?在不使用自定义格式的情况下,我只想在showlinkformatter中使用ID参数的ID值。下面是我的子网格的一个示例: subGridRowExpanded: function (subgrid_id, row_id) { var subgrid_table_id = subgrid_id + '_t'; $('#' + subgrid_id).html('<table id="' + subgrid_table_id + '" class

我是不是错过了一些简单的东西?在不使用自定义格式的情况下,我只想在
showlink
formatter中使用ID参数的ID值。下面是我的子网格的一个示例:

subGridRowExpanded: function (subgrid_id, row_id) {
    var subgrid_table_id = subgrid_id + '_t';
    $('#' + subgrid_id).html('<table id="' + subgrid_table_id + '" class="scroll" />');
    $('#' + subgrid_table_id).jqGrid({
    datatype: 'local',
    colNames: ['Order Number', 'Request Type', 'Owner', 'Order Status', 'Status Date'],
    colModel: [{
        name: 'orderid',
        index: 'orderid',
        width: 150,
        key: true,
        formatter: 'showlink',
        formatoptions: { baseLinkUrl: 'AOFOrderFacilities.aspx', idName: 'orderid' }
    }, {
        name: 'type',
        index: 'type',
        width: 100
    }, {
        name: 'owner',
        index: 'owner',
        width: 200
    }, {
        name: 'status',
        index: 'status',
        width: 150
    }, {
        name: 'date',
        index: 'date',
        width: 150
    }],
    sortname: 'num',
    sortorder: 'asc',
    height: 'auto'
    });
    // TODO: Make this into an AJAX call.  This is just for demo.
    var mysubdata = [
    { orderid: 'O00001234', type: 'Data', owner: 'Melanie Martin', status: 'Saved', date: '2/4/2011 11:48:18 AM' },
    { orderid: 'O00001235', type: 'Voice', owner: 'Billy Solomon', status: 'Submitted to TC', date: '2/4/2011 12:03:47 PM' }
    ];
    for (var i = 0; i <= mysubdata.length; i++)
    jQuery('#' + subgrid_table_id).jqGrid('addRowData', i + 1, mysubdata[i]);
}

以此类推,其中ID参数值是网格行的顺序索引,而不是数据中的所需值。是否有一种简单的方法来使用数据中的值?

格式化程序
showlink
的格式选项
idName
仅说明名称是url中所需的参数。id的值始终是rowid。在您的示例中,您使用

var mysubdata = [
    { orderid: 'O00001234', type: 'Data', owner: 'Melanie Martin',
      status: 'Saved', date: '2/4/2011 11:48:18 AM' },
    { orderid: 'O00001235', type: 'Voice', owner: 'Billy Solomon',
      status: 'Submitted to TC', date: '2/4/2011 12:03:47 PM' }
];
for (var i = 0; i <= mysubdata.length; i++)
    jQuery('#' + subgrid_table_id).jqGrid('addRowData', i + 1, mysubdata[i]);
var mysubdata=[
{orderid:'O00001234',类型:'Data',所有者:'Melanie Martin',
状态:“已保存”,日期:“2011年2月4日11:48:18 AM”,
{orderid:'O00001235',键入:'Voice',所有者:'Billy Solomon',
状态:“提交至TC”,日期:“2011年2月4日12:03:47下午”
];

对于(var i=0;i我不确定你们是否已经解决了这个问题,但我通过设置json读取器将它发送到我选择的id中,如下所示:

jsonReader:{
重复项:false,
id:“[要传递其值的属性]”
},


Rich

啊,我甚至没有注意到
数据
选项,我只是浏览了jqGrid网站上的一些例子。你提到它后,它使用了
addRowData
中的索引,这很有意义。只需将数据数组作为一个选项传递就更有意义,而且效果很好。谢谢!@Oleg:请帮我放置一个自定义表单atter showlink in
var mysubdata = [
    { orderid: 'O00001234', type: 'Data', owner: 'Melanie Martin',
      status: 'Saved', date: '2/4/2011 11:48:18 AM' },
    { orderid: 'O00001235', type: 'Voice', owner: 'Billy Solomon',
      status: 'Submitted to TC', date: '2/4/2011 12:03:47 PM' }
];
for (var i = 0; i <= mysubdata.length; i++)
    jQuery('#' + subgrid_table_id).jqGrid('addRowData', i + 1, mysubdata[i]);