Sto sviluppando un componente basato su DataGrid per accelerare una serie cose...e mi sono imbattuto in un problema, nel manipolare il DataGrid da cui la mia classe eredita, cui non avevo fatto caso prima...
Qualcuno mi spiega PERCHE' MAI se AutoGenerateColums è impostato a True, il DataGrid NON aggiunge le BoundColumns generate automaticamente, alla collection Columns????
VVoVe:
Mettete un DataGrid su una pagina, assegnategli un DataSource e verificate - senza aggiungere manualmente delle colonne al DataGrid, facendo funzionare soltanto l'AutoGenerateColumns - il numero di elementi della collection Columns.
Sarà 0!!!! Anche se ci sono tremila colonne nel DataGrid!!![]()
VVoVe:
Aggiungete poi qualche colonna di qualunque tipo, specificata "manualmente" nel costruttore delle proprietà del DataGrid. A prescindere dal valore di AutoGenerateColumns (False o True), il numero restituito da DataGrid.Columns.Count sarà sempre lo stesso, e cioé pari al numero delle SOLE colonne aggiunte manualmente!!!
VVoVe:
Ma che grandissima, spaventosa, megagalattica cazzata...
Questo non è una funzionalità mancante, o qualcosa del genere, è per me un chiaro esempio di quando qualcuno dimentica letteralmente qualche riga di codice
Adesso grazie a questa cazzata ho un bel grattacapo con l'ottenere nel mio DataGrid-like una collection Columns con TUTTE le colonne effettivamente presenti nel DataGrid, sia che siano state generate automaticamente oppure no...e pare che in rete nessuno l'abbia risolto (o meglio ho trovato una piccola soluzione ma parziale, che risolve il problema soltanto se la DataSource è un DataTable...).
Qualche idea?