• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5438
  • 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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

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