Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - 2 flex grid
Forum - Visual Basic 6 - 2 flex grid

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 12:06
Mercoledì, 27/01/2010
Buon giorno a tutti ho un problemino con due flex grid.
In un programma ho 2 flexgrid in cui una ho tutti i dati da db mentre nell'altra ho solo una riga contenente i totali della prima per colonna.
Dovrei riuscire a trovare il modo per riuscire ad ampliare le colonne di una flex e contemporaneamente si aumenta la dimensione della colonna dell'altra tabella.
Non trovo l'evento che viene chiamato per cui non so come risolvere questo problema ( altrimenti non avrei postato no? :om: )
Ho già provato a cercare nel sito ma non ho trovato :-?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:00
Mercoledì, 27/01/2010
per ampliare le colonne intendi di "dimensione" o di numero?

presumo ti riferivi a come aumentarle di numero, quindi basta che setti il nuemero di colonne con msflexgrid.cols

quindi per aumentare di 1 colonna ad esempio basta usare

msflexgrid.cols = msflexgrid.cols + 1

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 9:03
Giovedì, 28/01/2010
No intendevo la dimensione delle colonne...Purtroppo nel programma che devo modificare la flex grid deve dare la possibilità di ampliare le colonne dall'utente.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:46
Giovedì, 28/01/2010
allora devi usare:

MSFlexGrid1.ColWidth(N) = X

Dove:
N indica il numero della colonna a cui bisogna modificare la larghezza
X indica il valore che deve assumere la larghezza

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 16:50
Giovedì, 28/01/2010
i know :pat::pat::pat::pat::pat:
ma a me serve sapere come effettuare la modifica nella grid sottostante contemporaneamente a quando amplio la colonna di quella superiore.
In poche parole devo ampliare la colonna X della flex2 quando rilascio il mouse appena ampliata la colonna X della flex1

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 14:41
Venerdì, 29/01/2010
Ti precedo...non posso fare un Timer che mi controlla ogni tot le dimensioni delle colonne..



secondo te è possibile fare la prima riga della flex1 piena di picture e cercare di intervvenire nel resize delle picture?

--------:nono::nono::nono::nono::nono::nono:

non può funzionare perchè non vado a sostituire fisicamente la picture alla cella...
:noway::noway::noway::noway::noway::noway::noway::noway::noway::noway::noway::noway:

Ultima modifica effettuata da poeo85 il 29/01/2010 alle 17:22
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:10
Venerdì, 29/01/2010
sinceramente non ho capito bene quello che vuoi fare.. comunque credo che tu debba agire negli eventi del mouse: mousedown e mouseup

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 15:44
Sabato, 30/01/2010
Testo quotato

Postato originariamente da GrG:

sinceramente non ho capito bene quello che vuoi fare.. comunque credo che tu debba agire negli eventi del mouse: mousedown e mouseup



credo di si ma non è proprio bello da vedere...
perchè fai due flex in un progetto...nel mouse up della prima (dopo aver messo che può assere allargata la dimensione delle colonne dall'utente ) scrivi
if flx2.colwidth(flx1.col) <> flx2.colwidth(flx1.col) then
     flx2.colwidth(flx1.col) = flx2.colwidth(flx1.col)
end if

SE tu ampli la colonna X e poi resti fermo l'evento non scatta non appena rilasci il mouse ma appena ti sposti leggermente

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 17:00
Sabato, 30/01/2010
Puoi ricorrere ad un escamotage:
scrivi sulla form di premere il + del tastierino numerico per allargare la griglia
Codice sorgente - presumibilmente VB.NET

  1. Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  2.   If KeyCode = 107 Then
  3.     MSFlexGrid1.ColWidth(MSFlexGrid1.Col) = MSFlexGrid1.ColWidth(MSFlexGrid1.Col) + 20
  4.     MSFlexGrid2.ColWidth(MSFlexGrid1.Col) = MSFlexGrid2.ColWidth(MSFlexGrid1.Col) + 20
  5.   End If
  6. End Sub


PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo