Sto cercando un modo per formattare DataGridViewTextBoxColumn in modo che il valore da database sia formattato durante l'associazione dei dati. Ad esempio, ho una proprietà CompanyName e ho bisogno di prendere le prime 5 lettere da CompanyName quando avviene l'associazione dei dati.Come formattare i dati personalizzati in datagridview durante l'associazione dei dati
Potrei collegarmi a diversi eventi DataGridView (ad esempio RowsAdded) e scorrere tutte le righe e fare il trucco, ma mi piacerebbe trovare un modo più sofisticato per farlo. Dal momento che ho deciso di utilizzare il databinding, il looping dei dati e la modifica sono un po 'contrari al concetto di database.
quello che sto cercando, è come fare lo stesso come sotto, ma aggiungere la logica formattazione personalizzata:
dataGridView1.Columns[colSomeDate.Index].DataPropertyName = "SomeDate";
colSomeDate.DefaultCellStyle.Format = "yyyy";
penso che dovrei implementare IFormatProvider, ma io non capisco come dovrei implementare esso.
dataGridView1.Columns[companyName.Index].DataPropertyName = "CompanyName";
companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider
Beh, sì, ma se si dispone di diversi diversi viste con un diverso datalayout allora devi implementare questa formattazione per ogni scopo diverso (significa che hai diverse proprietà). Mi piacerebbe mantenere la formattazione dall'entità aziendale reale. – Clack