Bonjour,
est-il possible de changer la position d'une ligne dans un DBGrid, comme le fait la méthode MoveRow du composant StringGrid ?
Bonjour,
est-il possible de changer la position d'une ligne dans un DBGrid, comme le fait la méthode MoveRow du composant StringGrid ?
Salut
Il suffit de se déplacer dans le DataSet lié pour que que le DBGrid suive.
Utilise First, Last, MoveBy, Locate, etc...
@+ Claudius
y a-t-il une autre manipulation à faire en plus du MoveBy() ?
Non aucune. Le DBGrid suit automatiquement tous les déplacements effectués sur le DataSet.
apparemment pas : la ligne ne bouge pas.
Ouh apparement j'ai lu ta question trop rapidement.
Qu'est-ce que tu souhaites faire exactement ?
Changer la position d'une ligne: autrement dit changer l'ordonnancement des lignes ?
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
oui, il s'agit de changer l'ordonnancement des lignes
L'ordonnancement des lignes est défini par le DataSet, le TDBGrid se contente d'afficher les données.
C'est donc au niveau du DataSet qu'il faut travailler.
je suis d'accord. J'ai mis le code suivant permettant de remonter une ligne :
mais cela ne suffit pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DBGrid1.DataSource.DataSet.MoveBy(-1);
MoveBy effectue un déplacement sur le DataSet: changement de l'enregistrement courant. Il n'effectue pas de ré-ordonnancement des données.
Dans ton exemple tu recules simplement vers l'enregistrement précédent.
OK. Peut-on alors ré-ordonnancer les données d'un Dataset ?
Ne connaissant les champs de données de ton DataSet, il m'est difficile de te répondre.
Disons que si tu ne disposes pas d'un champ indiquant un n° de ligne ou une autre donnée sur laquelle s'appuyer, cela me semble difficile.
Voir IndexFieldName pour le Tri
Sinon une modification du DataSet modifie la Table liée ... faut faire attention au RequestLive, LocalUpdate et autre option du genre ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
le fait qu'une modification du DataSet modifie la table liée ne me gêne pas. Comment modifier l'ordonnancement des lignes de ce dataset ?
Tu modifie la valeur de la clé Primaire ?
Si tu n'en a pas !
Avec Paradox
Tu joue avec Insert (et non append) et tu copie la ligne, puis tu delete l'original
Ou alors tu apprends ce qu'est une base de données et tu utilise des index !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Salut tlm
Le composant dbnavigator est fait pour se déplacer fans le dbgrid, pour le classement des enregistrements il y a les méthodes du tri croissant et décroissant
.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager