Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Colorare una colonna FlexGrid

    Ciao ragazzi,
    come dice il titolo del post, mi servirebbe sapere come si colora una colonna Flex.
    Ho una FlexGrid dove ci sono 9 colonne e la prima riga dove ci sono le intestazioni è fissa.
    L'ultima colonna (l'unica ad essere editabile) viene utilizzata per inserire gli ordini di un magazzino, mi piacerebbe che solo quella colonna ed interamente verrebbe colorata in modo
    diverso dalle altre, tenendo pero' presente che la prima riga (fissa) non cambi di colore.

    Grazie vr-claudio

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    La colorazione di un range di celle di una flexgrid si ottiene impostanto opportunamente la proprietà FillStyle e le proprietà Row, Col, RowSel e ColSel.
    Però, siccome affermi che la colonna in questione è editabile (e per loro natura le celle di una FlexGrid non lo sono) è possibile che sia editabile qualche altra cosa (una TextBox ?) sovrapposta alla FlexGrid, nel qual caso forse vuoi gestire anche il colore di questo controllo.

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Claudio,
    non so se ho capito bene :
    codice:
    Dim j As Integer
        ' Colora di giallo la cella a partire dalla seconda:
        For j = 2 To 8
            MSFlexGrid1.Row = j
            MSFlexGrid1.Col = 8
            ' Colora la cella di colonna 8 di giallo chiaro:
            MSFlexGrid1.CellBackColor = &HC0FFFF
        Next j
    Comunque gli indici (2 to 8) sono modificabili.
    LM

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361
    Ciao carissimo LMondi,
    è una cifra che non ci sentiamo, spero tu stia bene...
    come al solito sempre gentile e disponibilissimo, il codice da te postato è perfetto
    Infinit. grazie
    vr-claudio

    PS: Chiaramente il ringraziamento è rivolto anche a Grumpy

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Originariamente inviato da vr-claudio
    PS: Chiaramente il ringraziamento è rivolto anche a Grumpy
    Prego. Ti faccio però notare che il codice che ti è stato proposto colora una cella alla volta anziché tutto il range di celle interessato e, inoltre, presuppone che si conosca a priori il numero di righe. Infine, ribadisce inutilmente il valore della proprietà Col tante volte quante sono le righe interessate.

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    @Grumpy
    Ti faccio però notare che il codice che ti è stato proposto colora una cella alla volta anziché tutto il range di celle interessato e, inoltre, presuppone che si conosca a priori il numero di righe. Infine, ribadisce inutilmente il valore della proprietà Col tante volte quante sono le righe interessate.
    Tutte cose che ho lasciato alla capacità elaborativa di vr_Claudio ...
    LM

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    RE...

    Ciao Grumpy,
    in tanto scusa per prima, la parola "editabile" era rivolta ad una textbox che utilizzo per scrivere all'interno delle celle, a parte questo hai ragione, mi sono accorto tra l'altro, che avendo questa colonna "editabile" questo codice mi crea un po' di problemi.

    Come è possibile risolverlo?
    Grazie vr-claudio

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759

    Re: RE...

    Originariamente inviato da vr-claudio
    Come è possibile risolverlo?
    Come ti ho suggerito prima.
    - Imposta la proprietà FillStyle a 1 = flexFillRepeat
    - Imposta le quattro proprietà Row, RowSel, Col, ColSel in modo che delimitino la colonna da evidenziare; Col e ColSel saranno uguali, trattandosi di una sola colonna; Row sarà 1, visto che non vuoi alterare la riga delle intestazioni; RowSel sarà uguale al numero totale di righe (Rows) meno 1.
    - Imposta il colore della TextBox che serve per l'editing uguale al colore di evidenziazione dlla colonna.

  9. #9
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    @Grumpy,
    ....qualche altra cosa (una TextBox ?) sovrapposta alla FlexGrid, nel qual caso forse vuoi gestire anche il colore di questo controllo.
    Questa affermazione non è corretta. Si può benissimo dare un colore alle celle di una colonna senza l'ausilio del controllo TextBox; poi se viene utilizzato il predetto controllo per digitare dei valori nelle celle, il colore viene passato alle celle della Flex e non al controllo.
    LM

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Originariamente inviato da LMondi
    Questa affermazione non è corretta. Si può benissimo dare un colore alle celle di una colonna senza l'ausilio del controllo TextBox;
    E dov'è che sarebbe stato detto il contrario ?
    Mi sa che non hai afferrato bene. Ho detto a vr-claudio che se per editare le celle della colonna usa una TextBox (anche perché non esiste altro sistema) e desidera che anche la cella in cui è in corso l'editing appaia dello stesso colore, dovrà impostare anche il colore della TextBox. E' talmente ovvio che non vedo come si possa fraintendere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.