Un saluto a tutti,
ho due problemi con una DATALISTVIEW di VO
[*]
[*] (VERDE) ho la necessità di modificare la larghezza di default di una o più colonne di una DATALISTVIEW, essendo il loro contenuto di un solo carattere, praticamente il sistema lo nasconde completamente. Non voglio che sia l'operatore che debba allargare manualmente le colonne in questione
[*] (ROSSO) vorrei evidenziare il caption delle colonne di una DATALISTVIEW in: Font, Text color e Backgrount color, per differenziali maggiormente dal contenuto delle colonne
Grazie a tutti
Claudio
DATALISTVIEW: modifica del Caption e della larghezza standart [risolto]
Moderator: wriedmann
- claudiocarletta
- Posts: 101
- Joined: Sat Sep 05, 2020 8:56 am
DATALISTVIEW: modifica del Caption e della larghezza standart
Ciao Claudio,
per il primo problema (quello della larghezza dele colonne): su molti dei miei ListView uso il seguente metodo di AutoSize();
Per il secondo problema: è unpò più delicato perchè non previsto dal controllo sottostante - bisogna mettere il controllo in modalità OwnerDraw, e impostare le in modalità manuale i valori.
Magari si trova qualcuno che ha del codice pronto - altrimenti ti devo costruire un esempio.
Saluti
Wolfgang
per il primo problema (quello della larghezza dele colonne): su molti dei miei ListView uso il seguente metodo di AutoSize();
Code: Select all
method AutoSize() as void pascal class EnhListView
local nI as dword
self:SuspendUpdate()
for nI := self:ColumnCount downto 1
self:ColumnAutoSize( self:GetColumn( nI ):NameSym )
next
self:RestoreUpdate()
return
method ColumnAutoSize( symColumn as symbol ) as void pascal class EnhListView
local nIndex as int
local nWidth as int
nIndex := Int( self:__GetColumnIndexFromSymbol( symColumn ) ) - 1
ListView_SetColumnWidth( self:handle(), int(nIndex), shortint( _cast, LVSCW_AUTOSIZE ) )
nWidth := ListView_GetColumnWidth( self:Handle(), nIndex )
ListView_SetColumnWidth( self:handle(), int(nIndex), shortint( _cast, LVSCW_AUTOSIZE_USEHEADER ) )
if nWidth > ListView_GetColumnWidth( self:Handle(), nIndex )
ListView_SetColumnWidth( self:handle(), nIndex, shortint( _cast, LVSCW_AUTOSIZE ) )
endif
return
Magari si trova qualcuno che ha del codice pronto - altrimenti ti devo costruire un esempio.
Saluti
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
DATALISTVIEW: modifica del Caption e della larghezza standart
Ciao Claudio,
Posso aggiungere un consiglio alle risposte di Wolfgangs:
Come dice il VO file della guida
Browser dati: crea una visualizzazione elenco dati come controllo autonomo, di sola lettura, più veloce e un'alternativa a un browser dati.
Se hai bisogno di un'alternativa a un browser di dati e hai questo tipo di domande, vale davvero la pena pagare la (piccola) tariffa per acquistare bBrowser. Puoi fare molto di più con esso che con DataListviews e c'è una versione VO e X #.
http://bbrowser.com/english/index.htm
==============================================
May I add an advice to Wolfgangs replies:
As the help file says
Databrowser: Create a data list view as a faster, read-only, standalone control and an alternative to a data browser.
If you need an alternative to a databrowser and have these kind of questions it is really worth the (small) license fee to buy bBrowser. You can do much more with it than with DataListviews and there's a VO and X# version.
Dick
Posso aggiungere un consiglio alle risposte di Wolfgangs:
Come dice il VO file della guida
Browser dati: crea una visualizzazione elenco dati come controllo autonomo, di sola lettura, più veloce e un'alternativa a un browser dati.
Se hai bisogno di un'alternativa a un browser di dati e hai questo tipo di domande, vale davvero la pena pagare la (piccola) tariffa per acquistare bBrowser. Puoi fare molto di più con esso che con DataListviews e c'è una versione VO e X #.
http://bbrowser.com/english/index.htm
==============================================
May I add an advice to Wolfgangs replies:
As the help file says
Databrowser: Create a data list view as a faster, read-only, standalone control and an alternative to a data browser.
If you need an alternative to a databrowser and have these kind of questions it is really worth the (small) license fee to buy bBrowser. You can do much more with it than with DataListviews and there's a VO and X# version.
Dick
- claudiocarletta
- Posts: 101
- Joined: Sat Sep 05, 2020 8:56 am
DATALISTVIEW: modifica del Caption e della larghezza standart
Grazie Dick,
si lo conosco, lo utilizzavo dodici anni fa, e lo apprezzavo moltissimo ma come ho detto precedentemente sto sviluppando qualcosa gratuitamente per la scuola e non voglio fare spese per un unico utilizzo.
Comunque, per il problema accennato, ho sbirciato l'esempio di Wolfgang ho capito cosa dovevo cercare e poi ho risolto in questo modo:
SELF:oDCDLAlunni:GetColumn(#NOMINATIVO):Width := 22
SELF:oDCDLAlunni:GetColumn(#SEZIONE):Width := 2
SELF:oDCDLAlunni:GetColumn(#CLASSE):Width := 2
e mi va bene così.
Grazie a tutti.
si lo conosco, lo utilizzavo dodici anni fa, e lo apprezzavo moltissimo ma come ho detto precedentemente sto sviluppando qualcosa gratuitamente per la scuola e non voglio fare spese per un unico utilizzo.
Comunque, per il problema accennato, ho sbirciato l'esempio di Wolfgang ho capito cosa dovevo cercare e poi ho risolto in questo modo:
SELF:oDCDLAlunni:GetColumn(#NOMINATIVO):Width := 22
SELF:oDCDLAlunni:GetColumn(#SEZIONE):Width := 2
SELF:oDCDLAlunni:GetColumn(#CLASSE):Width := 2
e mi va bene così.
Grazie a tutti.
DATALISTVIEW: modifica del Caption e della larghezza standart
Ciao Claudio,
la cosa migliore per gli utenti sarebbe di salvare le larghezze alla chiusura della finestra e di reimpostarle alla riapertura - se lo fai in un file ini che si trova nel profilo dell'utente ogni utente avrà le sue impostazioni.
Saluti
Wolfgang
la cosa migliore per gli utenti sarebbe di salvare le larghezze alla chiusura della finestra e di reimpostarle alla riapertura - se lo fai in un file ini che si trova nel profilo dell'utente ogni utente avrà le sue impostazioni.
Saluti
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it