Salve, non riesco a capire perché nonostante abbia impostato la proprietà allowsorting del datagrid a false permetta lo stesso di fare il sort sulle colonne.
Salve, non riesco a capire perché nonostante abbia impostato la proprietà allowsorting del datagrid a false permetta lo stesso di fare il sort sulle colonne.
Devi impostare la proprietà AllowSorting del TableStyle a False e non del datagrid
Hai ragione, funziona, grazie mille!!!!!
A questo punto però approfitto per un'altro quesito che é poi il motivo per cui ho dovuto impostare l'allowsorting a false. Io faccio in modo che le celle aquistino un colore o un'altro a seconda dei valori che hanno dentro, quando però l'utente fa il sort a una colonna ovviamente le righe vengono riordinate mentre i colori rimangono nelle stelle celle di prima, e quindi non più giusti. Io volevo intercettare l'evento che si scatena dopo il sort, per reistanziare li la classe paint, ma pare che tale evento esista solo in asp.
up
L'evento che si scatena quando riordini le celle dovrebbe essere paint
Mi dispiace contraddirti Mychy ma é proprio questo il problema, se io riordino le celle non si scatena il paint (puoi anche verificare mettendo un check), ed é per questo motivo che mi si riordinano i dati ma i colori rimangono come prima e quindi sbagliati. Spero di essere stata chiara.
Ho fatto una prova e secondo me si scatena l'evento paint, fai questa prova:
codice:Private Sub DataGrid1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGrid1.Paint MsgBox("Paint") End Sub
Hai ragione, ma non riesco a risolvere il problema, mi spiego meglio.
Io popolo il datagrid e alla fine della routine setto il tablestyle in modo che le celle si colorino in un modo o in un'altro a seconda del dato. E fin qui tutto bene. Quando però faccio il riordinamento i colori rimangono nelle stesse celle anche se i dati sono cambiati. Io pensavo di catturare l'evento che si scatena col sort e lanciare lì la routine che setta il tablestyle per riadeguare i colori ai nuovi dati. Ho provato a farlo sul datagrid_paint, come mi hai detto tu, ma non succede niente.