• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5316
  • Last Modified:

formatting numbers in DataGridview (Windows Form) C#

Hi,

 

I am showing data in Datagridview and formatting numbers in Datagridview for second column but it is not working.



 

Thanks!!!

Here is my sample code.
 
 
 
    dataGridview1.Columns.Clear();
            dataGridview1.AutoGenerateColumns = false;
            dataGridview1.DataSource = dataTable;
 
            DataGridViewTextBoxColumn amc = new DataGridViewTextBoxColumn();
            amc .DataPropertyName = "AMC";
            amc .Width = 210;
            amc.HeaderText = "";
            amc.ReadOnly = true;
            dataGridview1.Columns.Add(amc);
 
     DataGridViewTextBoxColumn total = new DataGridViewTextBoxColumn();
            total.DataPropertyName = "TotalVal";
            total.Width = 150;
            total.HeaderText = "Total";
            total.ReadOnly = true;
            dataGridview1.Columns.Add(total);
 
            DataGridViewTextBoxColumn perc = new DataGridViewTextBoxColumn();
            perc.DataPropertyName = "TotalYoy";
            perc.Width = 100;
            perc.HeaderText = "Total Perc";
            perc.ReadOnly = true;
            dataGridview1.Columns.Add(perc);
 
     
 
// Format the value 
 
 dataGridview1.Columns[1].DefaultCellStyle.Format = "c";
 dataGridview1.Columns[1].ValueType = typeof(System.Int32);

Open in new window

0
r_pat72
Asked:
r_pat72
  • 2
1 Solution
 
anarki_jimbelCommented:
According to msdn, (http://msdn.microsoft.com/en-us/library/f9x2790s.aspx)
the code  
dataGridview1.Columns[1].DefaultCellStyle.Format = "c";
is OK.

I'd try to change value type for the column to e.g. double  - currency is not integer type.
And also swap last two lines:

// Format the value
  dataGridview1.Columns[1].ValueType = typeof(System.Double);
 dataGridview1.Columns[1].DefaultCellStyle.Format = "c";

 
0
 
r_pat72Author Commented:
Still It is not formatting. It is displaying as 32232.32222
0
 
anarki_jimbelCommented:
Yeah, I see...

It looks like the problem is in your source  datatable. If the table has string type for a corresponding column (datatable column), your formatting won't work.

Try to set datatable column type to "Decimal" (not to double - my mistake, sorry) before filling it with data
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now