2010-11-11 15 views
10

Ogni riga jQgrid ha più caselle di controllo, quindi non è possibile utilizzare (solo) il multiselect.Come aggiungere una casella di controllo in un'intestazione jQgrid

Questo è come la colonna è messa a punto ...

{nome: 'ColName', etichetta: '', larghezza: 50, modificabile: true, ordinabili: false, edittype: "casella di controllo" , formattatore: 'casella', formatoptions: {disabilitato: false}, indice: "my_checkbox", editoptions: {valore: "Sì": "No"}}

quando clicco sul casella di controllo nella intestazione, l'intestazione viene ridisegnata senza il controllo. Posso catturare l'evento, ma non posso mostrare il controllo all'utente.

Quindi la mia domanda sarebbe, come posso ottenere una casella di controllo per operare normalmente all'interno di un'etichetta di intestazione OPPURE come posso implementare più multiselect.

+1

Il formattatore: 'casella di controllo sono introdotti per visualizzare il valore booleano nelle celle della colonna (non nell'intestazione della colonna) come una casella di controllo. Come si desidera utilizzare la casella di controllo nell'intestazione della colonna? – Oleg

risposta

16

Sono riuscito a risolvere il problema impedendo l'attivazione degli eventi jQgrid dopo l'evento casella di controllo.

ho cambiato la mia casella di controllo per ...

<input type="checkbox" onclick="checkBox(event)" /> 

e ha aggiunto il seguente metodo ...

function checkBox(e) { 
    e = e||event;/* get IE event (not passed) */ 
    e.stopPropagation? e.stopPropagation() : e.cancelBubble = true; 
} 
+1

A proposito, puoi effettivamente accettare la tua risposta, così altri sanno che c'è una soluzione se hanno un problema simile. – adamjford

+0

ha, divertente. in realtà non lo sapevo. l'ho accettato ora – joelnet

Problemi correlati