Ho seguito il tuo consiglio.
Su evento KeyDown
if key=chr(13) then
Me.CellType(row,1)=Listbox1.TypeEditable
Me.EditCell(row, 1)
return True
end if
---ma su row mi segnala "Questo metodo o proprietà non esiste"
Invece su evento CellKeyDown ho inserito:
if key=chr(9) then
Me.CellType(row,1)=Listbox1.TypeEditable
Me.EditCell(row,1)
return True
end if
e row viene accettato, con la freccia si ottiene lo scorrimento delle righe
ma il campo della colonna 1 non viene reso editabile (come invece avviene
con CellClick.
Perchè ?
Il giorno 15 giugno 2009 11.24, Sergio Tamborini <ml_sergio@system-i.it> ha
scritto:
> Nell'evento keydown metti chr(13) che è l'invio (puoi anche valutare il
> chr(12) che è l'invio del tastierino numerico) e dici di editare la cella
> sotto... puoi anche valutare il key chr(9) che è il tab per spostarti alla
> cella a destra :) con qualche if puoi anche fare in modo che se arrivi
> all'ultima coolonna vada alla prima cella della riga sotto. E'
> fattibilissimo, ce l'ho fatta io :)
>
> Il giorno 15/giu/09, alle ore 11:13, Massimo Lista ha scritto:
>
>
> Grazie per il suggerimento.In questo modo riesco a editare i campi di una
>> colonna:
>>
>> On CellClick
>> Me.CellType(Val(str(row)),1)=Listbox1.TypeEditable
>> Me.EditCell(Val(str(row)),1)
>>
>> però non riesco a gestire l'evento su invio, facendo in modo tale che il
>> focus vada sulla stessa colonna al rigo successivo rendendola editabile.
>> Devo necessariamente posizionarmi con il mouse al rigo successivo, la qual
>> cosa sarebbe molto scomodo in caso di inserimento di molti dati (quali ad
>> esempio i dati di un bilancio).
>>
>>
>>
>>
>>
>> Il giorno 13 giugno 2009 9.30, Massimo Valle <maxduepuntozero@yahoo.it>
>> ha
>> scritto:
>>
>>
>>> Contrariamente a quanto sembri, la listbox funge anche da contenitore.
>>> Utilizzi il metodo Listbox.cell(row, column) sia per recuperare che per
>>> assegnare un valore. Se devi farlo inserire direttamente all'utente puoi
>>> rendere editabile la cella e di conseguenza questa si comporta come un
>>> editfield.
>>>
>>> Massimo Valle
>>>
>>>
>>>
>>> On 13/giu/09, at 08:36, Massimo Lista wrote:
>>>
>>> Ma è possibile inserire direttamente un valore in una cella di una
>>> listbox
>>>
>>>> ?Io
>>>> ho capito che la listbox è solo un visualizzatore di dati.
>>>> Non riesco ad inserire alcun dato direttamente in una listbox.
>>>> Per modificare un campo di una listbox devo trasferire il valore di quel
>>>> campo in un editfield, modificarlo e ripopolare la listbox.
>>>> A me invece serve inserire direttamente il valore nel campo della
>>>> listbox
>>>> (tipo griglia di un file excel).
>>>> E' possibile ?
>>>> Esiste un controllo ad hoc ?
>>>> Il plugin DataGrid può fungere allo scopo ?
>>>>
>>>>
>>>>
>>>>
>>>> Il giorno 12 giugno 2009 21.12, Ivano Monti <ivanomonti@libero.it> ha
>>>> scritto:
>>>>
>>>> che io sappia no, ma puoi usare una listbox cmq, legata ad un database o
>>>>
>>>>> un
>>>>> recordset credo che il limite sia nelle colonne, se non erro 64 colonne
>>>>> come
>>>>> max, ma non vorrei dire una scemenza, le maschere viewer di una query
>>>>> che
>>>>> in
>>>>> realbasic non esistono se non con la listbox.
>>>>>
>>>>> Poi puoi fare scatenare una serie di modifica e salva a secondo di come
>>>>> vuoi muoverti nelle celle della stessa, se posso dare un contributo più
>>>>> che
>>>>> volentieri.
>>>>>
>>>>> Ivano Monti
>>>>> Developer for Mac and Windows
>>>>>
>>>>> Email: ivanomonti @ libero.it
>>>>> Url: http://www.ivanomonti.eu
>>>>>
>>>>> Skype: ivanomonti
>>>>> AIM: ivanomonti
>>>>> iChat: ivanomonti
>>>>>
>>>>> Mobile Phone: +39-392-9824007
>>>>> Phone: +39 02 36648804
>>>>>
>>>>> Google Map 45.62224,9.107407
>>>>>
>>>>>
>>>>>
>>>>> Il giorno 12/giu/09, alle ore 19:45, Massimo Lista ha scritto:
>>>>>
>>>>>
>>>>> Ho l'esigenza di un controllo che si presenti come un editfield , ma
>>>>> che
>>>>>
>>>>> sia
>>>>>> anche un contenitore di dati.
>>>>>> Mi spiego meglio:
>>>>>> Mi sembra di capire che listbox e editfield sono solo dei
>>>>>> visualizzatori
>>>>>> di
>>>>>> dati, a me serve invece un controllo
>>>>>> collegato ad un database che mi consenta di inserire dei valori in un
>>>>>> campo
>>>>>> (tipo foglio di Excell)
>>>>>> In Microsoft Access ci sono le maschere con visualizzazione continua..
>>>>>> In RealBasic ?
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>> --
>>>> Massimo
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>> --
>> Massimo
>>
>>
>
> ------
>
> Sergio Tamborini
> Brescia
> http://www.system-i.it
>
>
>
>
>
>
>
--
Massimo
|