i had this unbound datagridview that add columns during form load;
here is the code;
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;
}
I already set the code for currency textbox for a specific column in a datagridview. But the problem is, when i enter numbers in a cell, it does not change at all.
This is the code i included;
private void dgvbulkentries_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dgvbulkentries.Columns[14].DefaultCellStyle.Format = "n";
}
For example , when i enter numbers to a specific column in the datagridview, it does not format the value as currency format. i already did what you had suggested but its not working
what did i miss?
As mentioned in this answer After knowing the issue I think using CellLeave event of data grid view will solve ur issue
void dataGridView1_CellLeave(object sender, System.Windows.Forms.DataGridViewCellEventArgs e)
{
dgvbulkentries.Columns[14].DefaultCellStyle.Format = "c2";
dgvbulkentries.Columns[14].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-GB");
dgvbulkentries.Columns[14].ValueType = typeof(decimal);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.