代码之家  ›  专栏  ›  技术社区  ›  bsr

Jqgrid:基于所选行的导航

  •  6
  • bsr  · 技术社区  · 15 年前

    $(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传递给每一行。我正试着读它然后按按钮。通过firebug进行调试时,rowid为223(网格中只有12行),单元格值为空。目前,按钮是保持在网格之外,但它可能更好地是它的一部分的vavGrid

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  15
  •   Oleg    15 年前

    下面的代码可以解决您的问题

    $("#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');
          }
        });
    
        2
  •  4
  •   Roman    15 年前

    您只需将“显示”按钮设置为网格中每一行的一部分,并使用 custom formatter 把它变成一个网址。

    根据wiki中的示例,您可能需要一些类似于

    function myformatter ( cellvalue, options, rowObject )
    {
        return "<a href=\"" + cellvalue + "\">Show</a>";
    }