2010-02-25 5 views
4

Je vois l'exemple dans ExtJS, mais il semble que le checkColumn ne met pas à jour le XML. L'API n'est également pas très utile. Ce que je voulais faire, c'est quelque chose comme ça. Lorsque l'utilisateur clique sur la case à cocher dans la grille, il envoie une requête AJAX.Extjs checkColumn

Répondre

0

Vous allez vouloir lancer la requête ajax sur l'événement check change. Ou si vous essayez d'utiliser CheckboxSelectionModel dans une grille, placez un écouteur sur rowselect pour déclencher la requête ajax.

5

dans extjs4 vous pouvez le faire. il y a l'événement « checkchange », vous pouvez donc avoir quelque chose comme ceci:

{ 
    header: 'State', 
    dataIndex: 'STATE', 
    xtype: 'checkcolumn', 
    editor: { 
     xtype: 'checkbox', 
     cls: 'x-grid-checkheader-editor' 
    }, 
    listeners: { 
     checkchange: function(column, recordIndex, checked) { 
      console.log(checked); 
      //or send a request 
     } 
    } 
} 
8
columns: [{ 
     xtype: 'checkcolumn', 
     width: 30, 
     sortable: false, 
     id: 'check1', 
     dataIndex: 'check11', 
     editor: { 
      xtype: 'checkbox', 
      cls: 'x-grid-checkheader-editor' 
     }, 
     listeners: { 
      checkchange: function (column, recordIndex, checked) { 
       alert(checked); 
       alert("hi"); 
      } 
     } 
    } 
] 

a fonctionné pour moi :)

0

si vous allez ou si vous voulez tirer la demande ajax sur le chèque changer d'événement. Je pense que cela vous aidera.

columns: [{ 
    xtype: 'checkcolumn', 
    width: 30, 
    sortable: false, 
    id: 'check1', 
    dataIndex: 'check11', 
    editor: { 
     xtype: 'checkbox', 
     cls: 'x-grid-checkheader-editor' 
    }, 
    listeners: { 
     checkchange: function (column, recordIndex, checked) { 

      Ext.Ajax.request({ 
       url: 'abc.com/index.php', 
       scope: this, 
       params: { postData: postdata }, 
       method: 'POST', 
       success: function (a) { 

       } 

       }); 
      } 
    } 
]