Stoppen Sie jqGrid Zeile 'aktiviert', wenn geklickt wird, während noch die Erhaltung der Bearbeitung
Habe ich ein jqGrid mit drei Spalten. Eine der Spalten, die für die Zelle Bearbeiten, etwa so:
$('#myGrid').jqGrid({
...
editUrl: 'clientArray',
cellEdit: true,
cellsubmit: 'clientArray',
colModel: [
{name: 'Col1'},
{name: 'Col2'},
{
name: 'Col3',
editable: true,
editrules: {required: true, number: true}
}
]
});
Wenn der Benutzer klickt auf eine Zelle in der Dritten Spalte wird dann der editor erscheint automatisch. Allerdings, wenn der Benutzer klickt auf eine Zeile, die Zeile wird markiert ('selected'). Ist es möglich, deaktivieren Sie diese hervorheben, während immer noch so dass der editor für die Zelle angezeigt werden soll, wenn der Benutzer klickt auf eine Zelle in der Spalte bearbeitbar?
Habe ich versucht,
$('#myGrid').jqGrid({
...
beforeSelectRow: function() { return false; }
})
...aber dies deaktiviert die Bearbeitung sowie die Auswahl von einer Zeile.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du kein code gepostet, die zeigen wie Sie umgesetzt inline-editing. Es gibt viele unterschiedliche Implementierungen, die verwendet inline-editing. Die meisten typischen sind
formatter: "actions"
Wenn Sie zum Beispiel die erste version der oben genannten Liste, und Sie wollen nicht zu haben, jede Zeile können Sie die Auswahl verschieben Sie den code aus onSelectRow zu
beforeSelectRow
.Die demo zeigen, die von der möglichen Implementierungen:
AKTUALISIERT: Die entsprechende Umsetzung ist schwieriger, wenn Sie verwenden möchten der Zelle Bearbeiten-Modus. Dennoch ist es möglich, sollten Sie folgt meist die Ideen aus die Antwort. Die demo zeigen, die Teil des Codes, die Sie benötigen. Es gibt noch keine Tastatur verbindlich.
cellEdit: true
. Es ist Zelle Bearbeiten. jqGrid Unterstützung der drei Bearbeiten-Modi. Alle Werke, die in absolut anderen Weg,. Wenn Sie die Zelle Bearbeiten, dann Fragen Sie jetzt völlig neue Frage. Man kann Sie implementieren das Verhalten, welches Sie brauchen, aber Sie haben zu entfernencellEdit: true
- und call -editCell
manuell innerhalb vonbeforeSelectRow
Rückruf. Ich hoffe, dass der code von die Antwort wird Ihnen helfen, diese auch umzusetzen.editCell
manuell nur, wenn der Benutzer klickt auf diese Zelle in der Zeile mit?setSelection
innerhalb vonbeforeEditCell
Rückruf. In anderen Worten, Sie brauchen nicht, nichts zu tun, wenn Sie URLs beschrieben hier.