【发布时间】:2018-04-23 04:01:22
【问题描述】:
我有这个未绑定的数据网格视图,它在表单加载期间添加列;
这里是代码;
private void loadfields()
{
dgvbulkentries.ColumnCount = 15;
dgvbulkentries.Columns[0].Name = "ID No";
dgvbulkentries.Columns[0].Width = 80;
dgvbulkentries.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dgvbulkentries.Columns[1].Name = "Surname";
dgvbulkentries.Columns[1].Width = 150;
dgvbulkentries.Columns[2].Name = "First Name";
dgvbulkentries.Columns[2].Width = 150;
dgvbulkentries.Columns[3].Name = "Name Extn";
dgvbulkentries.Columns[3].Width = 40;
dgvbulkentries.Columns[4].Name = "Middle Name";
dgvbulkentries.Columns[4].Width = 150;
dgvbulkentries.Columns[5].Name = "Course";
dgvbulkentries.Columns[5].Width = 110;
dgvbulkentries.Columns[6].Name = "Year";
dgvbulkentries.Columns[6].Width = 40;
dgvbulkentries.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dgvbulkentries.Columns[7].Name = "Street/Block";
dgvbulkentries.Columns[7].Width = 150;
dgvbulkentries.Columns[8].Name = "Subdivision";
dgvbulkentries.Columns[8].Width = 150;
dgvbulkentries.Columns[9].Name = "Barangay";
dgvbulkentries.Columns[9].Width = 150;
dgvbulkentries.Columns[10].Name = "Municipality/City";
dgvbulkentries.Columns[10].Width = 150;
dgvbulkentries.Columns[11].Name = "Province";
dgvbulkentries.Columns[11].Width = 150;
dgvbulkentries.Columns[12].Name = "GWA";
dgvbulkentries.Columns[12].Width = 60;
dgvbulkentries.Columns[12].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dgvbulkentries.Columns[13].Name = "Units";
dgvbulkentries.Columns[13].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dgvbulkentries.Columns[13].Width = 50;
dgvbulkentries.Columns[14].Name = "Total School Fees";
dgvbulkentries.Columns[14].Width = 100;
dgvbulkentries.Columns[14].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
DataGridViewComboBoxColumn sexes = new DataGridViewComboBoxColumn();
sexes.HeaderText = "Sex";
sexes.Name = "Sex";
sexes.MaxDropDownItems = 4;
sexes.Items.Add("Male");
sexes.Items.Add("Female");
dgvbulkentries.Columns.Add(sexes);
dgvbulkentries.Columns[15].DisplayIndex = 5;
dgvbulkentries.Columns[15].Width = 80;
DataGridViewComboBoxColumn ssfapremarks = new DataGridViewComboBoxColumn();
ssfapremarks.HeaderText = "Remarks";
ssfapremarks.Name = "Remarks";
ssfapremarks.MaxDropDownItems = 4;
ssfapremarks.Items.Add("Enrolled");
ssfapremarks.Items.Add("Not Enrolled");
dgvbulkentries.Columns.Add(ssfapremarks);
dgvbulkentries.Columns[16].Width = 120;
}
我已经为 datagridview 中的特定列设置了货币文本框的代码。但问题是,当我在单元格中输入数字时,它根本不会改变。
这是我包含的代码;
private void dgvbulkentries_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dgvbulkentries.Columns[14].DefaultCellStyle.Format = "n";
}
例如,当我在 datagridview 的特定列中输入数字时,它不会将值格式化为货币格式。我已经按照你的建议做了,但它不起作用
我错过了什么?
【问题讨论】:
-
查看您错过正确货币格式的代码,即“c”或“c2”。为什么你会在编辑过程中改变它??
-
@TaW 我的回答能解决 OP 的要求吗?
-
您使用了有效的格式;但我真的不知道要求。在创建字段时,可以而且应该一劳永逸地设置格式,imo,而不是在某些 Cellxxx 事件中。货币应该从一开始就可以使用,即在加载后直接使用。
-
我试过了,但似乎 OP 正在运行时(如文本框列)在 DGV 中输入值,当我尝试更改格式时在我的系统中没有初始化它但在使用单元格后让它醒来根据要求
标签: c#