2014-02-02 3 views
0

У меня есть DataGridView на моей форме. Я пытаюсь отформатировать столбец для отображения в виде валюты.Создание нового форматирования столбцов datagridview

Что я здесь делаю неправильно?

this.employeeInfoDataGridView.Columns["Salary"].DefaultCellStyle.Format = "c"; 

получил сообщение об ошибке:

Необработанное исключение типа 'System.NullReferenceException' произошел в ...

Я использую это на form_load, если это делает разницу ,

+0

попробуйте этот [один] (http://stackoverflow.com/questions/14029542/currency-culture-formatting-not-applying-on-datagridview-column/14031179#14031179) – spajce

+0

вы даже загрузили DGV с помощью Таблица данных? Можете ли вы показать код, где вы загружаете DGV? – wruckie

+0

Да, он правильно заполняет все данные, просто пытаясь отформатировать один из столбцов. –

ответ

1

Понял это, перейдя в мою форму> щелкнуть объект datagridview> свойство столбца> столбец зарплаты> стиль ячейки по умолчанию> формат> c2.

Все еще смущенно, почему я не мог сделать это в коде таким же образом. Спасибо за помощь, ребята!

0

«Исключение System.NullReferenceException» возникает, когда конкретный столбец с именем «Зарплата» еще не создается во время form_load. В этом случае, вам нужно сделать следующее, чтобы избежать этого исключения:

if (this.employeeInfoDataGridView.Columns["Salary"] != null) 
{ 
    this.employeeInfoDataGridView.Columns["Salary"].DefaultCellStyle.Format = "c"; 
} 

И вы должны убедиться, что загружен определенный столбец перед тем, как установить DefaultCellStyle этого столбца.

Смежные вопросы