2016-08-31 3 views
0

J'essaie d'afficher un message lorsqu'un utilisateur donne un focus à un champ appelé numéro de référence qui est la colonne 10 et la ligne 1 sur ma nappe la grille. Il arrive aussi à être le dernier champ de la grille. Un modal doit afficher un message informant l'utilisateur que le numéro de référence qu'il est sur le point d'entrer peut être utilisé pour effectuer des recherches sur l'activité de son compte. Ce qui suit est la disposition de la grille lisse.Affichage d'un modal dans Slick Grid lorsqu'une cellule a le focus seulement la première fois qu'elle a le focus

<script> 
var columns = [ 
      { id: "Country", name: "Country", field: "Country", minWidth: 120, editor: Slick.Editors.Auto}, 
    { id: "Manufacturer", name: "Manufacturer", field: "Manufacturer", minWidth: 120, editor: Slick.Editors.Text }, 
    { id: "ReferenceNumber", name: "Reference Number", field: "ReferenceNumber", minWidth: 120, editor: Slick.Editors.Text }, 

     ]; 

est le script ici que je veux utiliser lorsque la cellule est cliqué pour afficher modal.

<script> 
function cellClicked(e) { 
    var grid = Columns; 
    var cell = grid.getCellFromEvent(e); 
    var item = grid.getDataItem(cell.row); // all the data in the row 
    if (cell.cell == grid.getColumnIndex('ReferenceNumber')) { 

     $('#ReferenceModal').modal('show'); 
     console.log("ReferenceNumber"); 
    } 
} 

Comment puis-je changer l'éditeur sur le champ du numéro de référence pour montrer le modal que lorsque la cellule (colonne 10, ligne 1) a été saisie par l'utilisateur?

Merci

Répondre

0

essayer en utilisant par exemple grid.onClick.subscribe

grid.onClick.subscribe(function(e, args) { 
    var item = grid.getDataItem(args.row); 
    if (args.cell == grid.getColumnIndex('ReferenceNumber')) { 
     $('#ReferenceModal').modal('show'); 
     console.log("ReferenceNumber"); 
    } 
    //.. do more stuff here to flag that the modal was once diplayed. I would imagine modify the item prop e.g. item.displayed=true... then invalidate the items on grid again. 
});