у меня есть datagridview, который я заполнил программно, и мне было интересно, как я могу заставить один из столбцов соответствовать указанному формату - «C2».
Можно ли это сделать после назначения источника данных?
Ваше здоровье.
у меня есть datagridview, который я заполнил программно, и мне было интересно, как я могу заставить один из столбцов соответствовать указанному формату - «C2».
Можно ли это сделать после назначения источника данных?
Ваше здоровье.
Роб отвечает для GridView (веб-элемент управления), а не для DataGridView (элемент управления winforms).
Я адаптировал его ответ для winforms.
var persons = new[] {new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000}};
DataGridView1.AutoGenerateColumns = false;
var NameField = new DataGridTextBoxColumn();
NameField.HeaderText = "Name";
NameField.DataPropertyName = "name";
DataGridView1.Columns.Add(NameField);
var SalaryField = new DataGridViewTextBoxColumn();
SalaryField.HeaderText = "Salary";
SalaryField.DataPropertyName = "salary";
SalaryField.DefaultCellStyle.Format = "{0:c2}";
DataGridView1.Columns.Add(SalaryField);
DataGridView1.DataSource = persons;
Что следует отметить:
Вы также можете сделать это в обработчике событий grid_ColumnAdded.
if (e.Column.HeaderText == "YourColumnHeaderText")
{
e.Column.DefaultCellStyle.Format = "C2";
}