프로그래밍 방식으로 채워진 DataGridview가 있고 "C2"지정된 형식을 따르는 열을 만들 수 있는지 궁금합니다.C#, datasource가 설정된 후 datagridview 열 형식 설정
데이터 소스가 할당 된 후에이 작업을 수행 할 수 있습니까?
건배.
프로그래밍 방식으로 채워진 DataGridview가 있고 "C2"지정된 형식을 따르는 열을 만들 수 있는지 궁금합니다.C#, datasource가 설정된 후 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 (웹 컨트롤)가 아닌 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 –