penso di aver trovato il metodo più pulito e professionale in assoluto.
Nella procedura dove viene bindato il datagrid associo la soegente dati e faccio il binding.
Poi creo un'altra procedura e la eseguo all'evento datagrid.itemdatabound.
Da per ogni riga controllo i valori del dataset, (o datatable) e in base a delle condizioni aggiungo (o setto) in modo opportuno le checkbox o quant'altro.
Confermate che sia il metodo più giusto??