2012-04-13 3 views
3

Ich habe meine primären Raster Zeilen korrekt in ein sekundäres Raster ziehen/ziehen. Meine Frage ist, wie führe ich eine Überprüfung durch, bevor die Zeile in mein sekundäres Raster fällt, die bestimmt, ob die Zeile, die ich ablegen möchte, schon da ist? Wenn es bereits im sekundären Raster vorhanden ist, lassen Sie den Benutzer es nicht dort fallen lassen, im Grunde stoppen Sie die Drag/Drop-Funktion.jQGrid Ziehen und Ablegen Zeilenüberprüfung

Ich denke, ich kann den Schlüsselwert aus der Reihe, die ich versuche zu fallen. Überprüfen Sie dann, ob dieser Wert bereits als Schlüsselwert in einer der Zeilen vorhanden ist, die ich bereits gelöscht habe. Ich gehe davon aus ich werde diese Funktion in irgendeiner Weise verwenden:

beforedrop : function(e,ui,data,source,target) { } 

ODER diese Funktion:

ondrop: function (ev, ui, getdata) { } 

Wer irgendwelche Ideen?

Antwort

5

Das Beispiel der Nutzung über die Sie die Zeilen „test1“ aus dem ersten Gitter auf den zweiten

$("#grid1").jqGrid('gridDnD', { 
    connectWith: '#grid2', 
    beforedrop: function (ev, ui, getdata, $source, $target) { 
     var names = $target.jqGrid('getCol', 'name2'); 
     if ($.inArray(getdata.name2, names) >= 0) { 
      // prevent data for dropping 
      ui.helper.dropped = false; 
      alert("The row is already in the destination grid"); 
     } 
    } 
}); 

Auf the demo

folgende sein könnte nicht in der Lage fallen würden:

enter image description here

Andere Zeilen werden ohne Probleme gelöscht.

+0

Perfekt! Super Arbeit wieder einmal Oleg. Das wird mir Stunden der Suche und Arbeit ersparen! Danke auch für die anderen [antworten] (http://stackoverflow.com/questions/10163970/jqgrid-subgrid-with-local-data). – FastTrack

+0

@FastTrack: Gern geschehen! Übrigens habe ich Ihre beiden Fragen sehr interessant gefunden. Ich denke, dass andere Leute die gleichen Probleme haben könnten. – Oleg

+0

Oleg: Ja! Ich bin ein Neuling hier, aber ich versuche, so viele Fragen wie möglich aufzustehen, während ich mit jqGrid arbeite. Es ist ein großartiges Werkzeug, aber die Dokumentation fehlt. Diese Website ist eine große Ressource für sachkundige Menschen wie Sie geworden. – FastTrack