2017-09-28 3 views
2

Sur BindingSelectionChanged-eventArgs fournit les éléments suivants -Comment accéder à l'emplacement et la valeur de la cellule modifiée dans l'événement BindingDataChanged dans officeJS?

eventArgs.startRow; 
eventArgs.rowCount; 
eventArgs.startColumn; 
eventArgs.columnCount; 

Sur BindingDataChanged - args événement ne fournit pas les 4 ci-dessus params. S'il vous plaît aviser s'il y a un moyen spécifique de les obtenir.

Mon intention est de pouvoir afficher l'ancienne valeur des cellules qui ont été modifiées dans une liaison de matrice.

Répondre

0

Ces données ne sont pas fournies dans les arguments. Vous devez stocker l'état actuel en utilisant getDataAsync() et en recevant BindingDataChanged événement retirez les données pour les comparer.

+0

Je ne sais pas si je vous ai bien compris. J'essaie de récupérer l'emplacement de la cellule modifiée dans mon gestionnaire BindingDataChanged. L'objet eventArgs ne fournit aucune information permettant de détecter quelle cellule a été modifiée. –

+0

getDataAsync() renvoie la matrice entière. La comparaison élément par élément avec les anciennes données demandera beaucoup de calculs. Je voulais savoir si je pouvais simplement accéder à l'emplacement de la seule cellule qui a été changée. –

+0

Correct, il ne retourne pas l'emplacement. Il renvoie la "liaison" qui a été modifiée. Cela pourrait être une cellule unique, une matrice de cellules ou une table. Il n'y a pas de méthode pour obtenir quelle vente a été changée. Vous pouvez cependant suivre la "sélection" actuelle. Si vous obtenez un événement 'BindingDataChanged' avant un changement de sélection, je crois que vous obtiendrez ce que vous cherchez. –