Jak spersonalizować dane formatu w datagridview podczas wiązania danych
Szukam sposobu na formatowanie DataGridViewTextBoxColumn, tak aby wartość do databinded jest formatowana podczas wiązania danych. Na przykład mam własność CompanyName i muszę pobrać pierwsze 5 liter z nazwy firmy, gdy ma miejsce wiązanie danych.
Mogłem podłączyć różne zdarzenia DataGridView (np. RowsAdded) i przejść przez wszystkie wiersze i wykonać sztuczkę, ale chciałbym znaleźć bardziej wyrafinowany sposób, aby to zrobić. Odkąd zdecydowałem się użyć wiązania danych, zapętlanie danych i modyfikowanie ich jest trochę sprzeczne z koncepcją wiązania danych.
Po co mam robić to samo, co poniżej, ale dodać niestandardową logikę formatowania:
dataGridView1.Columns[colSomeDate.Index].DataPropertyName = "SomeDate";
colSomeDate.DefaultCellStyle.Format = "yyyy";
Myślę, że powinienem zaimplementować IFormatProvider, ale nie do końca rozumiem, jak powinienem go implementować.
dataGridView1.Columns[companyName.Index].DataPropertyName = "CompanyName";
companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider