2017-03-04 3 views
0

Je suis en train de mettre en œuvre une colspan de mise à jour sur certains articles dans un SlickGrid:SlickGrid DataView mis colspan en utilisant la valeur de la ligne

Cette partie du code fonctionne très bien:

dataView.getItemMetadata = function (row) { 

    if (0 == 0) { 
    return { 
     "columns": { 
     "heading": { 
      "colspan": "*" 
     } 
     } 
    }; 
    } else { 
    return { 
     "columns": { 
     "heading": { 
      "colspan": 1 
     } 
     } 
    }; 
    } 
}; 

Il donne tous les éléments d'une colspan comme prévu, mais je veux obtenir la valeur dans la colonne "highlight" et l'utiliser pour déterminer si la colonne "heading" obtient un colspan appliqué. Cela doit être mis à jour chaque fois que la case à cocher de la colonne en surbrillance est cliquée. J'ai donc besoin d'obtenir la valeur de la colonne "highlight" sur cette ligne.

Si je lance ceci:

console.log(dataView.getItem(row)); 

Je reçois plusieurs articles comme celui-ci:

Object {id: "id_5", highlight: 1, heading: "voluptatem", quoted: 0…} 

Mais si je lance ceci:

console.log(dataView.getItem(row).highlight); 

Je reçois ceci:

Uncaught TypeError: Cannot read property 'highlight' of undefined 

Ma question est la suivante: est-ce que je vais dans le bon sens, et si oui, comment puis-je obtenir la valeur de la cellule dans la colonne "highlight" et la rangée "row"?

Répondre

0

Je avais besoin pour envelopper le courant si la déclaration dans une autre instruction if:

if (typeof data[row] != "undefined") { 
    //original if 
} 

pour vous assurer que la ligne existait effectivement

+1

grand, oui j'allais dire que l'erreur indique pas que la propriété n'existe pas (cela retournerait '' 'undefined'''), mais plutôt que toute la ligne n'existe pas. –