Solved

formatting numbers in DataGridview (Windows Form) C#

Posted on 2008-06-18
3
4,916 Views
Last Modified: 2008-06-22
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
Comment
Question by:r_pat72
  • 2
3 Comments
 
LVL 29

Expert Comment

by:anarki_jimbel
ID: 21817371
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
 

Author Comment

by:r_pat72
ID: 21817915
Still It is not formatting. It is displaying as 32232.32222
0
 
LVL 29

Accepted Solution

by:
anarki_jimbel earned 500 total points
ID: 21818289
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Excel file not created as expected 7 46
Interview questions for support of a legacy ASP.NET site 4 37
Exit the loop 4 34
Variable Event ? 3 20
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now