IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

un tableau avec du datagrid


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut un tableau avec du datagrid
    Est - il possible de lier un tableau 2 dim , avec un datagrid, si comment?
    un petit bout de code serait le bien venu

    Merci

  2. #2
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par thierry007
    Est - il possible de lier un tableau 2 dim , avec un datagrid, si comment?
    Oui il est tout a fait possible de le faire. Mais il faut evidement savoir ce que tu veux faire pour pouvoir vraiment te proposer un code. Ou alors si tu as commencer un toi meme (et ce serais plus facile pour toi comme pour nous) fait nous voir.

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Non encore rien de fait.
    Le but :

    Dimentionner un tableau / structure du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim MonTableau1(200,10)
    dim MonTableau2(200,35)
    dim MonTableau3(200,15)
    le lier a une datagrid ( chaque field a une colonne/ligne )

    En fait je cherche une idée ou solution pour remplir une datagrid et effectuer des calculs dedans ( genre saisie d'un bon de commande ou facture ), mais voyager dans la datagrid avec les curseurs et dans la première colonne mettre du code pour aller chercher des infos dans une base de données

  4. #4
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par thierry007
    En fait je cherche une idée ou solution pour remplir une datagrid et effectuer des calculs dedans ( genre saisie d'un bon de commande ou facture ), mais voyager dans la datagrid avec les curseurs et dans la première colonne mettre du code pour aller chercher des infos dans une base de données
    Pourquoi passe par un tableau (encore de la memoire d'utiliser inutilement) alors que tu peux le faire directement depuis le datagrid ??

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    comment le faire alors

    il faut qu'il y ai un nombres ligne vides existante dans le datagrid, pour ne pas passer par l'ajout de ligne

    Une idée

  6. #6
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par thierry007
    il faut qu'il y ai un nombres ligne vides existante dans le datagrid, pour ne pas passer par l'ajout de ligne
    Bon la j'ai l'impression d'etre aller un peut trop vite.

    Dit moi que veux tu faire exactement. Est que tu veux pourvoir ajouter "manuellement" une nouvelle ligne dans le DataGrid, ou alors modifier une ligne du DataGrid ??

  7. #7
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    comme j'ai écri plus haut, le but serait d'avoir une datagrid dans laquelle je puisses ajouter / mofifier des données sans devoir aller cliqué sur un bouton ajouter : en fait avoir une centaine d'enregistrement vide que peux modifier a ma guise . l'exemple le plus proche de ce que je veux faire est une feuille excel, mais mois cela serait limité a 10 col sur 100 ligne. lorsque j'ai mis des données dans la grille je valide et transfert les records dans une db centralisée

    suis-je assez clair?

  8. #8
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Pour ce que tu veux faire au vu de ceci

    Citation Envoyé par thierry007
    je puisses ajouter / mofifier des données sans devoir aller cliqué sur un bouton ajouter : en fait avoir une centaine d'enregistrement vide que peux modifier a ma guise . l'exemple le plus proche de ce que je veux faire est une feuille excel
    je te conseille d'utiliser le MSFlexGrid (Microsoft FlexGrid Control 6.0, MSFLXGRD.OCX) . Avec celui la ce sera possible et meme plus facile. Je doute que cela soit possible a faire avec le DataGrid.

    Si tu es pret pour cette nouvelle orientation je peux te donne un coup de main avec du code et des orientations.

  9. #9
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    c'est possible, mais c'est tres tres chiant à gérer
    voir dans l'aide en ligne les évenements
    -UnboundAddData
    -UnboundDeleteRow
    -UnboundReadData
    -UnboundWriteData
    ansi que la proprièté
    -DataMode

  10. #10
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par Delbeke
    -UnboundAddData
    -UnboundDeleteRow
    -UnboundReadData
    -UnboundWriteData
    ansi que la proprièté
    -DataMode
    Je ne savais pas que ces evenements et propriete existaient. Et d'ailleur je n'arrive pas a y avoir acces. J'utilise le Microsoft DataGrid control 6.0 (OLEDB) (MSDAGRD.OCX)

    la vraiment je croit que
    Citation Envoyé par Delbeke
    c'est tres tres chiant à gérer

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bonjour Sovo,

    DBGrid et DataGrid sont deux contrôles bien différents.
    Les événements et propriété signalés par DelBeke existent bien et concernent le contrôle DBGrid.

    Ceci étant dit, je salue DelBeke, qui m'a également appris une chose que j'ignorais, habitué moi aussi à utiliser le contrôle DataGrid..
    On en apprend à tout âge.... Merci DelBeke

  12. #12
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Bonjour JMF,

    Ouf j'ai eu chaud. Je ne savais qu'il utilisais le DBGrid (ne l'ayant pas fait). Et puis je n'ai jamais utilise ce control donc... Tout comme toi j'utilisais le DataGrid, mais depuis quelque semaine le MSFlexGrid de seduit de par sa flexibilite.

  13. #13
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Un prété pourr un rendu jmf tu m'as bien apris le TextMatrix
    Bonne soirée a toi.

  14. #14
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Citation Envoyé par sovo
    Pour ce que tu veux faire au vu de ceci



    je te conseille d'utiliser le MSFlexGrid (Microsoft FlexGrid Control 6.0, MSFLXGRD.OCX) . Avec celui la ce sera possible et meme plus facile. Je doute que cela soit possible a faire avec le DataGrid.

    Si tu es pret pour cette nouvelle orientation je peux te donne un coup de main avec du code et des orientations.
    La je suis preneur si tu as un bout de code
    Il faut savoir que dans l'application que je veux développer je vais travailler en Terminal Server, donc l'appli va tourner sur le serveur, c'est pour cela que je veux effectuer les opération de saisie / modif en mémoire, puis seulement les envoyées dans la db générale ( ou une autre idée )

  15. #15
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Bon voila.

    Citation Envoyé par thierry007
    mais mois cela serait limité a 10 col sur 100 ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    'MSF est le controle MSFlexGrid
    
    
    MSF.FixedCols = 0
    MSF.FixedRows = 1
    
    MSF.Rows=101   'Pour creer 100 ligne vide dans ton MSFlexGrid
    MSF.Cols=10     'Pour creer 10 Colone vide dans ton MSFlexGrid 
    
    'Pour remplir le MSFlexGrid : La propriete TextMatrix
    Dim FlexRow as Integer
    Dim FlexCol as Integer
    
    For FlexRow = 1 to MSF.Rows - 1
         For FlexCol = 0 to MSF.Cols -1
              MSF.TextMatrix(FlexRow,FlexCol) = "Cellule " & FlexRow & FlexCol
         Next
    Next
    Comme tu l'aura remarque la propriete TextMatrix est la solution a ton probleme (Un merci implicite a JMF, car c grace a lui que j'ai fait la decouverte de cette propriete de du MSFlexGrid qui est super genial).

  16. #16
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Test effectuer, mais je ne peux écrire directement dans une cellule, je peux la remplire dans le code mais pas modifier une cellule directement dans l'MSF quand le prg est executé

    Ou alors y qq chose que je ne saisis pas

  17. #17
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    Citation Envoyé par thierry007
    mais pas modifier une cellule directement dans l'MSF quand le prg est executé
    Si tu veux modifier le contenu d'une cellule alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Pour mettre "www.developpez.com" dans la cellule (59,6 : Ligne, Colone)
    MSF.TextMatrix(59,6) = "www.developpez.com"
    PS: tout ceci ce passe en mode Execution

  18. #18
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Je crois ne pas m'être bien exprimé:

    j'execute le programme , il m'affiche la grille, je click sur une cellule et je veux la modifier , ou mettre qq chose dedans

    oups , sa marche pas

  19. #19
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Peut être pas la meilleur solution mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Form_Load()
     TextEntrer.Height = MSFlexGrid1.CellHeight
    End Sub
    Private Sub MSFlexGrid1_RowColChange()
    If MSFlexGrid1.Row <> 0 Then
     TextEntrer.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(MSFlexGrid1.Col) + 30
     TextEntrer.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(MSFlexGrid1.Row) + 15
     TextEntrer.Width = MSFlexGrid1.CellWidth + 15
     TextEntrer = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col)
     TextEntrer.SelStart = Len(TextEntrer)
     TextEntrer.Visible = True: TextEntrer.SetFocus
    End If
    End Sub
    Private Sub TextEntrer_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
     MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = TextEntrer
     TextEntrer.Visible = False
    End If
    If KeyAscii = 27 Then TextEntrer.Visible = False
    End Sub
    TextEntrer > TextBox Appearance = 0 (Flat), Multiline = False
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  20. #20
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    La je ne croit pas qu'il ne sera pas possible de passer par les propriete.

    Voila comment je fait ca

    Soit tu passe par un InputBox qui recupere le texte que tu veux entrer et le fait a ta place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim col as integer, row as integer
    Private Sub MSF_Click()         'ou DblClick c comme tu veux
        col = MSF.MouseCol
        row = MSF.MouseRow
     
        MSF.TextMatrix(row, col) = InputBox("Entrer un texte", "Text")
    End Sub
    Soit tu le fait losrque l'utilisateur entre au clavier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub MSF_KeyPress(KeyAscii As Integer)
        col = MSF.MouseCol
        row = MSF.MouseRow
     
        MSF.TextMatrix(row, col) = MSF.TextMatrix(row, col) + Chr(KeyAscii)
    End Sub
    Perso j'utilise la premiere methode (sauf que j'utilise plutot une form personalise) bien que la deuxieme est plus proche de la logique.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 04/05/2015, 00h29
  2. [C#] Pb avec une DataGrid remplie dynamiquement
    Par maxo dans le forum ASP.NET
    Réponses: 15
    Dernier message: 20/04/2005, 18h09
  3. balise <img> dans un tableau avec firefox
    Par yannock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/10/2004, 17h44
  4. pb de coord de tex dans tableau avec multitex
    Par sebh dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/01/2004, 22h36
  5. Réponses: 13
    Dernier message: 14/10/2003, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo