Gambas France BETA


Pas de compte ? Incription

[ABANDON] DataBrowser et evenements (GB3)

1
AuteurMessages
lolo69#1 Posté le 10/10/2010 à 20:09:00
Bonsoir,

Voila je n'arrive pas à déclencher un evenement sur un DataBrowser ?

je pointe sur une vue ou sur une table même combat.

merci par avance.
lolo
manu#2 Posté le 10/10/2010 à 22:15:00
Avec Gambas ca roule !Lolo,

merci de préciser ta question. Que veux tu faire? quel est le problème ?

Bon mais le principe générale pour utiliser un Databrowser est assez simple :

Tu crée une base de données
Tu te connecte a celle ci

Dans un formulaire :
tu insères un container DataSource dans lequel tu précises la table de ta base de données (connectée)
Dans ce datasource tu met ton dataBrowser dans le quel tu précises les champs de la table que tu veux voir apparaitre et ce, dans la propriété Field.


Mais je suis pas sure que ce soit ton problème ! ? ;)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lolo69#3 Posté le 10/10/2010 à 22:33:00
Bonsoir manu,
En fait je voudrais appeler une autre form lorque l'on clique sur un ligne du databrowser.

Mon databrowser est bien rempli, je veux juste déclencher un evenement lors d'in double clic sur une ligne.

merci.
jeanyvon#4 Posté le 11/10/2010 à 06:15:00
Gambas? Ma! Et gustoSalut,
As tu mis ton browser dans un datasource?
Parce que chez moi ce couple permet de fonctionner.
A+
JY
Vieillir? On peut retarder mais pas y échapper!
manu#5 Posté le 11/10/2010 à 07:21:00
Avec Gambas ca roule !Effectivement les évènements sur Databrowsers ont l'air inopérants ! J'utilise pourtant ce control assez souvent mais je ne m'en etait pas rendu compte :oops:

Mais pourquoi utiliser un DataBrowser pour appeler des forms, pourquoi ne pas utiliser une listeview par exemple.

Le DataBrowser est surtout fait pour gérer des enregistrements dans une base de façon assez simple...
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lolo69#6 Posté le 11/10/2010 à 14:11:00
Bonjour,

Oui en fait j'avais fait cela pour voir comment cela marchait, mais je vais revenir a la boucle dans un listview....
dommage, il y a moins de boulot avec les datasources....

en tout cas manu merci pour ton aide.

Je vais me remettre sur la V2....

en fait je fais mon projet sur les deux pour tester....

Lolo.
lolo69#7 Posté le 11/10/2010 à 14:13:00
Salut,

Oui j'ai bien mis un datasource, pas de probleme pour "rempli" la grille, mais si je clique dessus j'ai pas d'événements de déclenchés....

merci de ton aide.

Lolo
jeanyvon#8 Posté le 11/10/2010 à 14:50:00
Gambas? Ma! Et gustoSalut,
Comme tu as fait 2 post j'ai suivit sur l'autre.
Si tu veux faire ce que tu demande dans le topic de GB3, il faut passer par une gridview et la tu récupère l'événement .
Pour mettre à jour ta db tu passe par une form qui ne sert que de boite de dialogue avec 1datasource, 1 databrowser, et des contrôles de remplissages.
Voila
A+
JY
Vieillir? On peut retarder mais pas y échapper!
manu#9 Posté le 11/10/2010 à 16:01:00
Avec Gambas ca roule !C'est vrai que les DataBrowsers c'est hyper pratique et très facile à mettre en oeuvre :)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Pablodetaix#10 Posté le 31/10/2010 à 18:58:00
Bon je sais je suis en zone GB3... mais le pb d'interception des évents ne semble pas liés seulement à GB2=>GB3

j'ai qq programmes simples "anciens" sous gb2 (qui tournaient très bien en 2.17)
et donc passage en 2.21 et aussi modif Linux 8.04 => 10.04
voilà avant l'interception du databrower_dblcick() passait trés bien
maintenant niet (bah ça me prépare à GB3 que je ne fais que découvrir encore...)

voici les changements complets en simplifés
ce qui est en commentaire allait bien sous GB 2.17 et Ub8.04 => viré et remplacé par Observer maintenant


La situtation était : un form en appelle un autre en lui passant la clef du filtre pour l'autre datasource, et je voulais simplifier par le DbleClick sur la liste du DataBrowser

' Gambas class file
PRIVATE myObs AS Observer ' pour prélever l'event du DblClick dans le gridview du databrowser

PUBLIC SUB ButSfam_Click()
' on tente de prendre le code objet de la liste du databrowser
ModMain.FamDocCod = Str(DataControl1.Value) ' on passe la clef de filtre à l'écran appelé ! (qui la lit lors de son ouverture)
FormSfamD.ShowModal()
ButSfam.Enabled = FALSE '
END

' ' pb migration v2.17 => 2.21 et aussi Ub8.04 => 10.04 donc chgt de lib variées...
' ' fonctionnait trés bien "avant"
' ' PUBLIC SUB DataBrowser1_DblClick()
' ' ModMain.FamDocCod = Trim(Str(DataControl1.Value))
' ' ModMain.FamDocNom = Trim(Str(DataControl2.Value))
' ' ButSfam.Enabled = TRUE
' ' END

' ' PUBLIC SUB DataBrowser1_Click() ' ça obligeait le double clic pour passer une référence valide au form appelé
' ' ButSfam.Enabled = FALSE
' ' END


PUBLIC SUB Form_Open()
DataBrowser1.GridView.Columns[0].Text = "Code"
DataBrowser1.GridView.Columns[1].Text = "Nom de la famille"
DataBrowser1.GridView.Columns[0].Width = 80
DataBrowser1.GridView.Columns[1].Width = 350
END

PUBLIC SUB Form_Show()
MyObs = NEW Observer(DataBrowser1.gridview) AS "Obs"
END

PUBLIC SUB Obs_DblClick()
'Message.Info("Vive l OBSERVER ")
IF NOT IsNull(DataBrowser1.GridView[DataBrowser1.GridView.Row, 0].Text) THEN ' une petite sécu on sait jamais...
ModMain.FamDocCod = Trim(Str(DataControl1.Value))
ButSfam.Enabled = TRUE
ButSfam_Click()
ENDIF
END

en tt cas j'ai fait ça grace a tous les commentaires de vous tous ! merci
Si ça peut aider qq tant mieux !
Pablo
1