Jqgrid: навигация на основе выбранной строки

Я пытался включить навигацию на основе выбранной строки. Так, пользователь выбирают строку из jQgrid, и когда нажимают шоу (там выставочная кнопка для сетки, я видел редактирование, добавьте и т.д.), это должно перейти к новой странице на основе URL (часть строки).

$(document).ready(function () {
    function getLink() {
//      var rowid = $("#customer_list").jqGrid('getGridParam', 'selrow');
        var rowid = $("#customer_list").getGridParam('selrow');
        var MyCellData = $("#customer_list").jqGrid('getCell', rowid, 'dataUrl');
        return MyCellData;
    }

    $("#customer_list").jqGrid({
        url:'mytestList',
        editurl:'jq_edit_test',
        datatype: "json",
        colNames:['Call Id','Title','dataUrl'],
        colModel:[
          {name:'callId', width:80, search:false},
          {name:'title', width:200, sortable:false},
          {name:'dataUrl',hidden:true}
        ],
        rowNum:10,
        sortname:'lastUpdated',
        sortorder: 'desc',
        pager:'#customer_list_pager',
        viewrecords: true,
        gridview: true
    }).navGrid('#customer_list_pager',
      {add:true,edit:true,del:false,search:true,refresh:true}, 
      {closeAfterEdit:true, afterSubmit:afterSubmitEvent}, // edit options
      {addCaption:'Create New something', afterSubmit:afterSubmitEvent,
       savekey:[true,13]}, // add options
      {afterSubmit:afterSubmitEvent}  // delete options
    );
    $("#customer_list").jqGrid('filterToolbar');
});

таким образом URL передается для каждой строки как dataUrl. Я пытаюсь считать его и установить на кнопку. Когда отладка через поджигателя, rowid был 223 (было только 12 строк в сетке), и значение ячейки пусто. В настоящее время кнопка сохранена вне сетки, но она может лучше, чтобы быть этим часть vavGrid

спасибо.

6
задан Oleg 11 June 2010 в 15:45
поделиться

2 ответа

Код, подобный следующему, может решить вашу проблему

$("#customer_list").jqGrid ('navButtonAdd', '#customer_list_pager',
    { caption: ""/*"Show"*/, buttonicon: "ui-icon-extlink", title: "Show Link",
      onClickButton: function() {
          var grid = $("#customer_list");
          var rowid = grid.jqGrid('getGridParam', 'selrow');
          window.location = grid.jqGrid('getCell', rowid, 'dataUrl');
      }
    });
15
ответ дан 8 December 2019 в 12:18
поделиться

Вы можете просто сделать кнопку отображения частью каждой строки в сетке и использовать настраиваемый модуль форматирования , чтобы преобразовать ее в URL.

Судя по примеру в вики, вам, вероятно, понадобится что-то вроде

function myformatter ( cellvalue, options, rowObject )
{
    return "<a href=\"" + cellvalue + "\">Show</a>";
}
4
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: