Can I format number as comma separated in grid?

In DataBoundDataGrid, I would like 1000 displayed as 1,000 but still treated as number type, so I can sort it properly. Is there any way to do that? Thanks a lot

3 Replies

AD Administrator Syncfusion Team April 29, 2004 04:09 PM UTC

Try this. Make sure your DataColumn type is int so the grid thinks the column is integer. Then handle the grid.model.QueryCellFormattedText event and format the display text there.
this.gridDataBoundGrid1.Model.QueryCellFormattedText += new GridCellTextEventHandler(gridModel_QueryCellFormattedText);

//the handler
private void gridModel_QueryCellFormattedText(object sender, GridCellTextEventArgs e)
{
	if(e.Style.CellValueType == typeof(int))
	{
		e.Text = ((int)Style.CellValue).ToString("#,###");
		e.Handled = true;
	}
}


AD Administrator Syncfusion Team April 29, 2004 05:44 PM UTC

THanks. My grid is built based on the DB query dynamically. The fields in DB are types money and deciaml. But it seems that I can not work it out using the follwing function. ANy suggestions? Thanks for your time private void gridModel_QueryCellFormattedText(object sender, GridCellTextEventArgs e) { if(e.Style.CellValueType == typeof(double)) { e.Text = ((double)e.Style.CellValue).ToString("#,###"); e.Handled = true; } } >Try this. Make sure your DataColumn type is int so the grid thinks the column is integer. > >Then handle the grid.model.QueryCellFormattedText event and format the display text there. > >
>this.gridDataBoundGrid1.Model.QueryCellFormattedText += new GridCellTextEventHandler(gridModel_QueryCellFormattedText);
>
>//the handler
>private void gridModel_QueryCellFormattedText(object sender, GridCellTextEventArgs e)
>{
>	if(e.Style.CellValueType == typeof(int))
>	{
>		e.Text = ((int)Style.CellValue).ToString("#,###");
>		e.Handled = true;
>	}
>}
>


AD Administrator Syncfusion Team April 30, 2004 10:14 AM UTC

Instead of using the type double in the code, try using the type decimal.

Loader.
Up arrow icon