私はプログラムで入力されたdatagridviewを持っていて、どの列を指定された形式 - "C2"に適合させることができますか?データソースが設定された後にdatagridviewの列形式を設定します
これは、データソースが割り当てられた後に行うことができますか?
乾杯。
私はプログラムで入力されたdatagridviewを持っていて、どの列を指定された形式 - "C2"に適合させることができますか?データソースが設定された後にdatagridviewの列形式を設定します
これは、データソースが割り当てられた後に行うことができますか?
乾杯。
var persons = new[] {new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000},
new {name = "aaa", salary = 40000}};
GridView1.DataSource = persons;
GridView1.AutoGenerateColumns = false;
var NameField = new BoundField();
NameField.HeaderText = "Name";
NameField.DataField = "name";
GridView1.Columns.Add(NameField);
var SalaryField = new BoundField();
SalaryField.HeaderText = "Salary";
SalaryField.DataField = "salary";
SalaryField.DataFormatString = "{0:c2}";
SalaryField.HtmlEncode = false;
GridView1.Columns.Add(SalaryField);
GridView1.DataBind();
またgrid_ColumnAddedイベントハンドラそのようなでそれを行うことができます。
if (e.Column.HeaderText == "YourColumnHeaderText")
{
e.Column.DefaultCellStyle.Format = "C2";
}
ロブの答えは、GridViewの(Webコントロール)ではないのDataGridView(リサイズ制御)のためです。
私は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;
物事は注意する:
修正:DataGridTextBoxColumn - > DataGridViewTextBoxColumn –