Realmente estoy luchando con esto y parece que no puede conseguir que esto funcione.

Básicamente tengo reservas de mesa, por ejemplo,

id    bookref    account    fare

1     BR1          101      10.00

2     BR2          202      20.00

Mi Jqgrid muestra toda esta información, lo que quiero hacer es obtener el bookref valor por el que está seleccionada la fila. La función actual que tengo es:

    ondblClickRow: function(rowid)
    {
        var grid = $('#bookings');
        var sel_id = grid.jqGrid('getGridParam', 'selrow');
        var myCellData = grid.jqGrid('getCell', sel_id, 'bookref');

        alert(myCellData);

    },

Cuando me haga doble clic en la primera fila me dan BR1′ devolvió el cual es el correcto, si hago doble clic en cualquier otra fila todavía me pongo ‘BR1’, cuando debería obtener » BR2 » si la segunda fila se hace clic.

Puede alguien por favor me ayude con esto? Sería enormemente apreciada

  • ¿Por qué utilizar sel_id en lugar de la utilización de rowid parámetro en su lugar? Si a usted le tienen siempre el mismo valor de rowid parámetro debe comprobar si usted rellenar la cuadrícula con los datos correctamente. En el caso de que usted puede incluir en su pregunta más completa definición de jqGrid (por ejemplo, podría ser muy interesante, tanto para el uso multiselect: true) y se incluyen los datos de prueba (al menos dos filas de datos).
  • Bueno, yo era originalmente mediante el siguiente código, pero yo tenía el mismo problema,
  • ondblClickRow: función(rowid) { var rowData = new Array(); rowData = $(«#reservas»).getRowData(rowid); $(«#cp-reservas-de diálogo»).dialog({ ocultar: ‘slide’, altura: 625, ancho: 733, title: ‘la Referencia de la Reserva: – ‘+ rowData[‘bookref’]}); },
  • la cuadrícula se muestra correctamente, no veo cuál es el problema?
  • Acabo de notar que si hago un select de todos los tblbookings funciona bien, pero si hago seleccione bookref, columna2, columna3.. esto es cuando deja de funcionar, alguna razón para esto?
  • Sólo puedo repetir que debes editar tu pregunta y añadirlo con la definición completa de jqGrid y se incluyen los datos de prueba (al menos dos filas de datos).

InformationsquelleAutor nsilva | 2012-05-29

2 Comentarios

  1. 4

    Si usted ve aquí, en mi código, también estoy usando ondblClickRow en mi red. Si usted ve aquí, yo estoy haciendo todos los valores de fila y haciendo mis propios cambios de lo que alguna vez me quieras, y, finalmente, la carga de la página con los detalles del trabajo de document.location.href.

    Yo soy capaz de hacer esto para todas las filas de la cuadrícula.

    ondblClickRow: function(rowId) {
        var rowData = jQuery(this).getRowData(rowId); 
        var jobNumber = rowData['jobNumber'];
        var jobName = rowData['description'];
        var jobCustomer = rowData['customerName'];
        var jobStatus = rowData['jobStatus'];
        jobName = jobName.replace(/&/g, "``");
        jobName = jobName.replace(/#/, "__");
        var aQryStr = "jobNumber=" + jobNumber + "&jobName=" + jobName + "&jobCustomer=" + jobCustomer;
        console.log("./jobflow?token=view&" + aQryStr);
        document.location.href = "./jobflow?token=view&" + aQryStr;
    },

    Si quieres ver mi código de la cuadrícula:

    $("#jobsGrid").jqGrid({
    url:'../job_controller',
    datatype: 'JSON',
    mtype: 'POST',
    pager: jQuery('#jobsGridPager'),
    colNames:['Job #','Project','City', 'Rep', 'Status', 'Customer', 'Cust PO #', 'Rep. #'],
    colModel :[
    {name:'jobNumber', index:'jobNumber', align:'left', width:50, editable:true,hidden:false, edittype:'text',
    editoptions:{size:30,readonly:true},editrules:{edithidden:false,required:false}},
    {name:'description', index:'description', align:'left', width:150,hidden:false, editable:true, 
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
    {name:'locationCity', index:'locationCity', align:'', width:90,hidden:false, editable:true,
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
    {name:'initials', index:'initials', align:'center', width:30,hidden:false, editable:true,
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
    {name:'jobStatus', index:'jobStatus', align:'center', width:60,hidden:false, editable:true,
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
    {name:'customerName', index:'customerName', align:'', width:150,hidden:false, editable:true, 
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}},
    {name:'customerPONumber', index:'customerPONumber', align:'center', width:90, hidden:false, editable:true, 
    editoptions:{}, editrules:{edithidden:true,required:false}},
    {name:'code', index:'code', align:'center', width:40,hidden:false, editable:true,
    editoptions:{size:20,readonly:false, alignText:'right'},editrules:{edithidden:true,required:true}}
    ],
    rowNum: 50, pgbuttons: true,    
    recordtext: '',
    rowList: [50, 100, 200, 500, 1000],
    viewrecords: true,
    pager: '#jobsGridPager',
    sortname: 'employeeId', sortorder: "asc", imgpath: 'themes/basic/images',   caption: 'Jobs',
    height:547, width: 1140,/*scrollOffset:0,*/ rownumbers:true, altRows: true, altclass:'myAltRowClass', rownumWidth: 45,
    ondblClickRow: function(rowId) {
    var rowData = jQuery(this).getRowData(rowId); 
    var jobNumber = rowData['jobNumber'];
    var jobName = "" + rowData['description'];
    var jobCustomer = rowData['customerName'];
    var jobStatus = rowData['jobStatus'];
    jobName = jobName.replace(/&/g, "``");
    jobName = jobName.replace(/#/, "__");
    var aQryStr = "jobNumber=" + jobNumber + "&jobName=" + jobName + "&jobCustomer=" + jobCustomer;
    console.log("./jobflow?token=view&" + aQryStr);
    document.location.href = "./jobflow?token=view&" + aQryStr;
    },
    jsonReader : {
    root: "rows",
    page: "page",
    total: "total",
    records: "records",
    repeatitems: false,
    cell: "cell",
    id: "id",
    userdata: "userdata"
    }
    }).navGrid('#jobsGridPager', add:false,edit:false,del:false,refresh:false,search:false}
    );
    • Que usted, que lo que yo estaba buscando !
  2. 1

    No uso selrow, pero esto no es la fila del evento, con la concurrencia puede fallar

    Comprobarlo:

    ondblClickRow: function(rowid)
    {   
    var grid = $('#bookings');    
    var myCellData = grid.jqGrid('getCell', rowid, 'bookref');
    alert(myCellData);
    }

Dejar respuesta

Please enter your comment!
Please enter your name here