Le curseur se déplace vers le haut lors de l'actualisation de la liste de la grille de page
Collègues développeurs,
J'ai une liste personnalisée de la page, où un utilisateur peut sélectionner quelques enregistrements, d'appuyer sur un bouton dans le volet Action qui s'exécute à une certaine logique dans une classe, et tout ce qui fonctionne très bien. Mon problème est que le curseur ne pas rester dans le même registre, mais va vers le haut de la grille. Sonne comme un familier de la question?
- Je stocker les FormDataSource de la liste de page utilisant des arguments dans la classe personnalisée qui a de la logique.
J'ai essayé quelques petites choses mais aucune n'a fonctionné.
- formDataSource.recherche(vrai)
Vrai paramètre est censé conserver la position après la recherche fait son travail. Je suppose que cela aurait été la solution la plus simple. Page de la liste des requêtes a 2 sources de données joint à l'aide d'une jointure Externe et ma conjecture est la recherche de la(vraie) ne fonctionne qu'avec des jointures internes. - formDatasource.setPosition(position)
int position;
position = formDatasource.getPosition();formDatasource.recherche();
formDatasource.setPosition(position);
Je stocker la position à l'aide de getPosition et de le mettre de nouveau à l'aide de setPosition. Aucune utilisation.
- formDataSource.trouverenregistrement()
currentRecord = formDatasource.curseur();
recId = currentRecord.RecId;
formDatasource.relire();formDatasource.recherche();
formDatasource.trouverenregistrement(currentRecord);- je utiliser la ds.curseur() pour obtenir l'enregistrement en cours et passer à trouverenregistrement() après recherche(). Aucune utilisation.
- formDataSource.findValue()
currentRecord = formDatasource.curseur();
recId = currentRecord.RecId;
formDatasource.relire();formDatasource.recherche();
formDatasource.findValue(fieldNum(Tableau, RecId), int642str(recId));- je utiliser la ds.curseur() pour obtenir l'enregistrement en cours et recId et de le passer à findValue() après recherche(). Aucune utilisation.
J'ai débogué le code ci-dessus et le curseur() méthode ne permet d'obtenir l'enregistrement en cours et de ses recId.
J'ai commencé à croire qu'il pourrait être une limitation de la liste de la page, et en priant pour que quelqu'un prouve que j'ai tort.
Toute aide est appréciée.
'recherche' a un paramètre optionnel pour conserver la position dans la grille. Pour une excellente vue d'ensemble, voir kashperuk.blogspot.com.es/2010/03/...
OriginalL'auteur Harry | 2013-07-17
Vous devez vous connecter pour publier un commentaire.
Utilisez la Méthode 3 mais comme cela.
Espère que cette aide.
OriginalL'auteur Jes Gudiksen
Essayer de passer à "true" comme paramètre de la méthode de recherche.
salesLine_ds.recherche(vrai) fonctionne dans mon cas, c'est à dire si je recherche la ligne, le curseur reste sur la même ligne.
OriginalL'auteur Vitaly Borisov
utiliser la deuxième méthode, comme ce
Cela fonctionne pour moi.
OriginalL'auteur Aytac