У меня есть код, который связывает представление данных с данными через источник привязки:
_bind.DataSource = Table;
lGrid.DataSource = _bind;
В событии DataBindingComplete я установил DefaultCellStyle для некоторых столбцов:
void lGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if (e.ListChangedType == ListChangedType.Reset)
lGrid.Columns[0].DefaultCellStyle.Format = "+#,##0;-#,##0;0";
}
На этом этапеТаблица еще пуста.Поэтому позже, когда строка добавляется в таблицу и хорошо отражает ее в DataGridView, по какой-то причине формат не применяется к ячейке столбца 0.
Я проверил формат внутри события CellFormatting:
private void lGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs args)
{
if (args.ColumnIndex == lGrid.Columns[0].Index)
{
string s1 = lGrid.Columns[0].DefaultCellStyle.Format;
string s2 = lGrid[0, args.RowIndex].Style.Format;
}
}
и s1 возвращает мне правильный формат, но s2 - просто пустая строка.
Подскажите, пожалуйста, что я делаю неправильно и как отформатировать ячейку.Спасибо!