Tstringgrid e selezione multipla righe

di il
1 risposte

Tstringgrid e selezione multipla righe

Buongiorno a tutti, ho una tstringlist che viene popolata con n righe, avrei la necessita' di poterne selezionare alcune per poterle eliminare, ma non ne vengo a capo, nel senso che tra le proprietá ho visto che si possono selezionare piu righe ma solamente consecutive, non posso per esempio selezionare la 1, la 3 la 5 ecc, avrei necessitá di poterne selezionare piu e diverse tramite ctrl e shif, i classici "modi"di windows, avete magari qualche dritta da darmi?, considerando che, tra l altro, al clich sull intestazione della colonna la lista viene ordinata in base a quella colonna in maniera crescente/decrescente al click.
grazie ancora

1 Risposte

  • Re: Tstringgrid e selezione multipla righe

    yarendil ha scritto:


    ho una tstringlist che viene popolata con n righe, avrei la necessita' di poterne selezionare alcune per poterle eliminare, ma non ne vengo a capo, nel senso che tra le proprietá ho visto che si possono selezionare piu righe ma solamente consecutive [...]
    avete magari qualche dritta da darmi?
    Purtroppo, questa è una delle limitazioni del controllo TStringGrid: la selezione operata sulla griglia ti restituisce un TGridRect, ovvero un rettangolo che indica i limiti/dimensioni dell'area contigua di righe e colonne selezionata sulla griglia.

    Oltre alla selezione di celle non adiacenti, manca ad esempio la possibilità di escludere una riga cliccandoci nuovamente sopra nel caso sia stata precedentemente selezionata.

    A meno di non ricorrere a un altro controllo di terze parti, l'unica strada è quella di gestire manualmente la selezione delle righe creando un discendente del controllo TStringGrid e ridefinendo i metodi chiave che gestiscono gli eventi di clic con il mouse per andare a salvare le informazioni relative alla selezione, disegnando poi le celle di conseguenza intercettando gli eventi legati al "custom drawing" del controllo.

    Non è una operazione impossibile, ma richiede senz'altro un po' di lavoro per piegare la griglia alle proprie esigenze.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
1 risposte