Oppure

Loading
10/02/09 12:05
jibe71
Buongiorno a tutti, sto sviluppando una applicazione in cui avrei la necessita di inserire un controllo griglia (tipo msflexgrid) che sia editabile in run-time.
Ho provato con la datagrid, ma anche questa non riesco ad inserire dati in esecuzione.
Ma è possibile che non esista??
Ringrazio chiunque possa consigliarmi qualcosa.
Alessandro
Ultima modifica effettuata da jibe71 10/02/09 12:07
aaa
10/02/09 15:01
GrG
la datagrid non la uso mai quindi non ti so dire...per quanto riguarda la msflexgrid si che si può editare grazie al codice:

Private Sub Form_Load()
MSFlexGrid1.Col = 1
MSFlexGrid1.Row = 1
MSFlexGrid1.Text = "ciao"
End Sub

Questo è un esempio...dove prima selezioni la colonna e poi la riga e poi setti il testo...il codice te l'ho detto il resto lo devi far tu....magari usa un'imputbox...
aaa
10/02/09 15:13
jibe71
GRAZIE PER LA RISPOSTA,
MA STO CERCANDO UN CONTROLLO CHE SIA EDITABILE A RUN TIME SCRIVENDO DIRETTAMENTE DENTRO LA CELLA (TANTO PER CAPIRCI DICIAMO TIPO "EXCEL";).
NON VORREI USARE LA CLASSICA SOLUZIONE DI FAR APPARIRE LA TEXTBOX SU MSFLEXGRID.
GRAZIE DI NUOVO
aaa
10/02/09 17:35
GrG
1) Non scrivere in maiuscolo perchè equivale ad urlare;

2) Perchè cerchi un controllo e non usi il cervello?

eh...sarò buono, ecco il codice che ti serve...clicca con il mouse sulla cella in cui vuoi scrivere e poi digita il testo...
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then 'se viene premuto il back space ...
If MSFlexGrid1.Text <> "" Then: MSFlexGrid1.Text = Left(MSFlexGrid1.Text, Len(MSFlexGrid1.Text) - 1)
Else
MSFlexGrid1.Text = MSFlexGrid1.Text & Chr(KeyAscii)
End If
End Sub
aaa
11/02/09 10:20
jibe71
scusa per il maiuscolo, sto usando il cervello, infatti chiedo solo se qualcuno è a conoscenza di un controllo tipo griglia editabile (anche non associabile a database) senza dover passare per gli artifici che già conosciamo! E' possibile evitare di scrivere codice inutile solo per gestire gli eventi associati alla textbox che compare, scompare, formatta, (...ed ogni tanto crea malfunzioamenti...)
aaa
11/02/09 10:27
jibe71
comunque grazie, ho provato il codice e sembra che funzioni
aaa
16/04/13 18:28
MZ64
Io ho fatto in questo modo:
Ho inserito un controllo MSFlexGrid ed un controllo Textbox (per default non visibile)
quindi ho inserito il seguente codice:

Private Sub MSFlexGrid1_Click()
Dim nCol As Integer, nRow As Integer
Text1.Visible = True
nCol = MSFlexGrid1.col
nRow = MSFlexGrid1.Row
Text1.Left = MSFlexGrid1.ColPos(nCol) + MSFlexGrid1.Left + 10
Text1.Top = MSFlexGrid1.RowPos(nRow) + MSFlexGrid1.Top
Text1.Width = MSFlexGrid1.ColWidth(nCol) + 10
Text1.Height = MSFlexGrid1.RowHeight(MSFlexGrid1.Row)
Text1.Text = MSFlexGrid1.Text
Text1.setfocus
End Sub

Private Sub Text1_Change()
MSFlexGrid1.Text = Text1.Text
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Text1.Visible = False
If KeyAscii = 27 Then Text1.Visible = False
End Sub

Private Sub MSFlexGrid1_Scroll()
Text1.Visible = False
End Sub
aaa
16/04/13 18:45
gibra
Qui trovi un sacco di funzionalità implementate per la MSFlexGrid:
xtremevbtalk.com/…
aaa