Scusa se ritorno sull'argomento, ma il problema che incontro sull'evento
CellKeyDown non é nella selezione riga,colonna ma nel fatto che
l'istruzione:
If Key = chr(13) then
ListBox1.CellType(row,1)=Listbox1.TypeEditable
ListBox1.editCell(row,1)
ListBox1.ActiveCell.SelStart=0
ListBox1.ActiveCell.SelLength=len(ListBox1.Cell(row,1))
End if
non viene eseguita (la riga corrente non viene resa editabile), a differenza
di quel che accade con l'evento CellClick con il click del mouse.
Io uso la versione 5. Non è per caso un bug ?
Il giorno 15 giugno 2009 19.29, Sergio Tamborini <ml_sergio@system-i.it> ha
scritto:
> Allora, ovviamente l'evento hai ragione tu... è cellkeydown (keydown è
> riferito all'evento di pressione di un tasto su tutta la listbox).
>
> Io comunque mi sono fatto un piccolo metodo che chiamo dall'evento
> cellkeydown, al quale passo quale riga e quale colonna (in pratica quale
> cella) intendo rendere editabile:
>
> Sub SelezionaUltimaRIgaInserita(riga As integer, colonna As integer)
> me.editCell(riga,colonna)
> me.ActiveCell.SelStart=0
> me.ActiveCell.SelLength=len(me.Cell(riga,colonna))
> End Sub
>
> ...Sono poi 3 righe :)
>
> Spero di essere stato utile!
>
> Il giorno 15/giu/09, alle ore 16:44, Massimo Lista ha scritto:
>
>
> 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
>>
>>
>
> ------
>
> Sergio Tamborini
> Brescia
> http://www.system-i.it
>
>
>
>
>
>
>
--
Massimo
|