Newsgroup: it.comp.lang.visual-basic
Titolo: visualizzazione dati con MSFlexGrid o MSHFlexGrid o DataGrid

Cari ragazzi tanti saluti,
    scusate se vi importuno con questo problema, che da gg non mi lascia
dormire:-))
Bene:
Ho bisogno di visualizzare dei dati su una griglia, di cui la prima riga č
composta da 5 colonne e
le seconde(righe), ognuna deve contenere 4 colonne), faccio uno schema:
|-------------------------------------|
|              prima intestazione               |
|---------|-------------|-----|---------|
|     1      |       2           |   3   |    4       |
|---------|-------------|-----|---------|
|             |                    |       |              |
|---------|-------------|-----|---------|
anche se č brutale, penso possa dare l'idea.
Purtroppo MSFlex non si possono ridimensionare le celle, ma solo le colonne
e le righe
Da gg cerco di leggere libri l'help di V6 Enterprise, ma non ho trovato
nulla.
Qualcuno di voi ha risolto il problema?
Se si, sarebbe disposto a suggerirmelo?
Ringrazio sin da ora e saluto
Gius


prova questo codice con una mshflexgrid di nome mshgrid1, da me funzia
mshgrid1.Col=3
mshgrid1.Row=0
mshgrid1.Text="pippo"
mshgrid1.MergeRow(0)=True
mshgrid1.mergecells=flexMergeRestrictRows


Così è meglio :-)
mshgrid1.Cols=5
mshgrid1.Rows=5
mshgrid1.Row=0
mshgrid1.Col=3
mshgrid1.Text="pippo"
mshgrid1.Col=4
mshgrid1.Text="pippo"
mshgrid1.MergeRow(0)=True
mshgrid1.mergecells=flexMergeRestrictRows


Ciao,
        ti ringrazio del suggerimento, ti mando un'estensione del tuo prg
MSHGrid1.Cols = 10
MSHGrid1.Rows = 15
MSHGrid1.ColWidth(0) = 250
MSHGrid1.ColWidth(1) = 300
MSHGrid1.ColWidth(2) = 300
MSHGrid1.ColWidth(3) = 300
MSHGrid1.ColWidth(4) = 300
MSHGrid1.ColWidth(5) = 300
MSHGrid1.ColWidth(6) = 300
MSHGrid1.ColWidth(7) = 300
MSHGrid1.ColWidth(8) = 300
MSHGrid1.Row = 0
MSHGrid1.Col = 1
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p i p p o"
MSHGrid1.Col = 2
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p i p p o"
MSHGrid1.Col = 3
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p i p p o"
MSHGrid1.Col = 4
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p i p p o"
MSHGrid1.Row = 0
MSHGrid1.Col = 5
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p l u t o"
MSHGrid1.Col = 6
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p l u t o"
MSHGrid1.Col = 7
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p l u t o"
MSHGrid1.Col = 8
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "p l u t o"
MSHGrid1.MergeRow(0) = True
MSHGrid1.MergeCells = flexMergeRestrictRows
For k = 1 To 6
MSHGrid1.Row = k
MSHGrid1.Col = 0
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = Trim(k) + ">"
MSHGrid1.Col = 1
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "1"
MSHGrid1.Col = 2
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "2"
MSHGrid1.Col = 3
MSHGrid1.Text = "3"
MSHGrid1.Col = 4
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "4"
MSHGrid1.Col = 5
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "5"
MSHGrid1.Col = 6
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "6"
MSHGrid1.Col = 7
MSHGrid1.Text = "7"
MSHGrid1.Col = 8
MSHGrid1.CellAlignment = 3
MSHGrid1.Text = "8"
Next k
In pratica visualizza come volevo io, domanda, non c'è un sistema più
scarno??
Chiedo troppo??
Motivo: devo fare una griglia di 10 righe(con ognuna 4 colonne) con un
totale di 40 colonne.
In verticale non c'è problema, uso un array, ma in orrizzontale......
Cmq, ti ringrazio è già molto.
Gius


 Chiedo troppo??
Piů scarno di cosě si muore!
Immagina i programmatori C++ che solo per aprire e chiudere un form devono
scrivere 30 righe di codice...

 Ciao,
            ancora migliorata, (accorciata):-))))
Si puň fare anche con MSFlexGrid
Gius
Dim testa As String
testa = "^Num.  " + Chr(9) + "^spazio1" + Chr(9) + "^spazio1" + Chr(9) +
"^spazio1" + Chr(9) + "^spazio1" + Chr(9)
testa=testa+ "^spazio2" + Chr(9) + "^spazio2" +Chr(9) + "^spazio2" + Chr(9)
+ "^spazio2"
MSHGrid1.Cols = 41
MSHGrid1.Rows = 15
MSHGrid1.FormatString = testa
MSHGrid1.MergeRow(0) = True
MSHGrid1.MergeCells = flexMergeRestrictRows
MSHGrid1.ColWidth(0) = 500
For K = 1 To 40
MSHGrid1.ColWidth(K) = 400
Next K
For K = 4 To 40 Step 4
MSHGrid1.ColWidth(K) = 550
Next K
