2013-03-08 13 views
6

favore - sintassi necessità di impostare variabili da jqGrid getRowData proprietàjqGrid gridComplete: - getRowData - ottenere valore di cella riga dalla matrice

annodare attraverso righe - basta tirare i valori delle colonne ID e frase nella variabili

gridComplete: function() { 
    var allRowsInGrid = $('#list').jqGrid('getRowData'); 
    for (i = 0; i < allRowsInGrid.length; i++) { 
    pid = allRowsInGrid[i].ID; 
    vPhrase = allRowsInGrid[i].Phrase; 
    vHref = "<a href='#' onclick='openForm(" + pid + ", " + vPhrase + ")'>View</a>"; 
    } 
}, 

Era in grado di ottenere l'ID facile basta con getDataIDs :-)

bisogno di aiuto con ottenere specifi valori c colonna per pid e vPhrase per i

Acclamazioni

+0

Cosa stai facendo con questo array dopo averlo? A seconda delle tue esigenze 'rowattr:' potrebbe essere più efficiente. – Mark

risposta

14

Prova questo:

var ids = jQuery("#list").jqGrid('getDataIDs'); 
for (var i = 0; i < ids.length; i++) 
{ 
    var rowId = ids[i]; 
    var rowData = jQuery('#list').jqGrid ('getRowData', rowId); 

    console.log(rowData.Phrase); 
    console.log(rowId); 
} 

NOTA BENE: Se il vostro obiettivo è quello di aggiungere un collegamento alla cella che chiama un metodo javascript è possibile raggiungere questo obiettivo utilizzando formatter come indicato di seguito, formattatore deve essere aggiunto colModel come aggiungere altre proprietà delle colonne come nome, indice, larghezza, allineare ecc, in modo da poter evitare l'iterazione su dati di riga

formatter: function(cellvalue, options, rowObject) { 

    return "<a href='#' onclick='openForm(" 
      + rowObject.ID + ", " 
      + rowObject.Phrase 
      + ")'>View</a>"; 
     } 
+0

Una nota: funziona, ma solo se il valore necessario è in una colonna della griglia. È possibile nascondere la colonna se non si desidera visualizzare il valore, ma deve essere lì. –

4

Questo è quello che uso quando voglio ottenere i dati per RowID per lo specifico Cell.

var selRow = jQuery("#list10").jqGrid('getGridParam','selarrrow'); //get selected rows 
for(var i=0;i<selRow.length;i++) //iterate through array of selected rows 
{ 
    var ret = jQuery("#list10").jqGrid('getRowData',selRow[i]); //get the selected row 
    name = ret.NAME; //get the data from selected row by column name 
    add = ret.ADDRESS; 
    cno = ret.CONTACTNUMBER 
    alert(selRow[i] +' : ' + name +' : ' + add +' : ' + cno); 
} 
Problemi correlati