Я ищу способ форматирования DataGridViewTextBoxColumn, так что значение, которое должно быть привязано к данным, форматируется во время привязки данных. Например, у меня есть свойство CompanyName, и мне нужно взять первые 5 букв из CompanyName, когда происходит привязка данных.
Я мог бы подключаться к различным событиям DataGridView (например, RowsAdded) и перебирать все строки и делать трюк, но я бы хотел найти более сложный способ сделать это. Поскольку я решил использовать привязку данных, перебирать данные и модифицировать их, это немного противоречит концепции привязки данных.
То, что мне нужно, - это сделать то же самое, что и ниже, но добавить пользовательскую логику форматирования:
dataGridView1.Columns[colSomeDate.Index].DataPropertyName = "SomeDate";
colSomeDate.DefaultCellStyle.Format = "yyyy";
Я думаю, что я должен использовать IFormatProvider, но я не совсем понимаю, как его реализовать.
dataGridView1.Columns[companyName.Index].DataPropertyName = "CompanyName";
companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider