JQgrid - Holen Sie sich die Zeilennummer anstelle der ID
Erstelle ich ein JQGrid aus einer Datenbank-Tabelle, die nicht enthalten ein einzelnes Feld Primärschlüssel.
Also, das Feld, ich bin der Versorgung als id ist nicht eindeutig und die gleiche, existiert in mehreren Reihen.
Weil dieser, bei der übergabe einer Referenz auf die Daten mit ondblClickRow einer Funktion extern zu der Gitter muss ich verwenden, die rownumber-und nicht die id.
Testen, ich bin mit ondblClickRow: function(id){alert($("#grid1").getInd('rowid'));},
, und ich sollte immer und warnen mit der Zeilen-Nummer, mit der Ausnahme, dass es nicht funktioniert.
Ich habe über die Dokumentation und kann nicht verstehen, was ich falsch mache...
Jede Hilfe wäre sehr geschätzt werden!
Vielen Dank im Voraus,
Mario.
Balg ist mein volles grid:
jQuery(document).ready(function(){
var mygrid = jQuery("#grid1").jqGrid({
datatype: 'xmlstring',
datastr : grid1RsXML,
width: 1024,
height: 500,
colNames:['DEVICE_ID','JOB_SIZE_IN_BYTES', 'USER_NAME','HOST_NAME','DAY_OF_WEEK','JOB_ID'],
colModel:[
{name:'DEVICE_ID',index:'DEVICE_ID', width:55, sortable:true},
{name:'JOB_SIZE_IN_BYTES',index:'JOB_SIZE_IN_BYTES', width:40, sortable:true},
{name:'USER_NAME',index:'USER_NAME', width:60, sortable:true},
{name:'HOST_NAME',index:'HOST_NAME', width:50,align:"right", sortable:true},
{name:'DAY_OF_WEEK',index:'DAY_OF_WEEK', width:10, sortable:true},
{name:'JOB_ID',index:'JOB_ID', width:30, sortable:true}
],
rowNum:1000,
autowidth: true,
//rowList:[10,20,30],
rowList:[1],
pager: '#grid1Pager',
sortname: 'DEVICE_ID',
viewrecords: true,
rownumbers: true,
sortorder: "desc",
sortable: true,
gridview : true,
xmlReader: { root : "recordset", row: "record", repeatitems: false, id: "DEVICE_ID" },
caption:"All Jobs - Double Click for detailed history",
ondblClickRow: function(id){alert($("#grid1").getInd('rowid'));},
toolbar: [true,"top"],
url: grid1RsXML
});
InformationsquelleAutor mariojjsimoes | 2010-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie können die getInd () - Methode, wie folgt aus:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods
InformationsquelleAutor Yin Yang
Was du suchst, ist bereits an das Ereignis übergeben, die Sie gerade brauchen, um mehr von der verfügbaren Parameter in der Funktionsdeklaration:
Ja, es würde. Anstatt Dinge zu tun, basierend auf Zeile, ich würde das senden der zusammengesetzten Schlüssel in die verborgenen Spalten, so dass Sie für nachfolgende Anforderungen verwendet.
InformationsquelleAutor great_llama
Beantwortung Ihrer wichtigsten Frage gibt Sie great_llama, aber es scheint mir, dass Sie etwas missverstehen
id
als XML-Eingabe verwendet jqGrid. StandardxmlReader
hatid: "[id]"
. So kann man einfach entfernenid: "DEVICE_ID"
von der definition derxmlReader
und Ortid
attribute in Ihren Daten:So Ihre wichtigsten Daten, die Sie senden Ihre server könnte eine doppelte Zeilen, aber wenn Sie fügen nur
id
Attribut kann ein Zeilen-Zähler Sie können Ihr problem lösen. Der Wert vonid
Attribut muss nicht eine Zahl sein, Sie kann jede beliebige Zeichenfolge verwenden, statt. Wenn die Natur Ihrer Daten dies erlauben, können Sie erzeugen eine einzigartigeid
als string aus Ihren anderen Daten.InformationsquelleAutor Oleg
Kürzlich hatte ich die gleiche Anforderung, ich.e, um den Zugriff auf die row-Daten durch die Zeilennummer anstelle der Zeilen-id. Ich habe keine Zeilen-id. Unten code funktioniert für mich. HINWEIS: Die Zeile, die Zählung beginnt mit 1.
var rowNum=$("#grid1").getGridParam("selarrrow");
$("#grid1").getRowData(rowNum);
InformationsquelleAutor Kisor Biswal
Ich es so machen:
InformationsquelleAutor iwwenbo