2013-03-26 3 views
1

Я хочу форматировать ячейки, которые являются числовыми таким образом «1 231 241,45». Опция формата N2 - форматирование ячеек, но вместо запятой помещает запятую. Мне нужно место там. Возможно?Datagrid defaultcellstyle.format numeric WinForms

+0

_It можно? _ Ли вы пытались что-нибудь? Покажите свои усилия! Пожалуйста, прочитайте [FAQ] и [ask] –

+0

Спасибо за ваш ответ. Это очень помогает мне! Я думаю, что мне нужно использовать format.ToString (""), но не знаю, что положить внутри ... –

+2

Действительно? =) Кстати, это был не ответ! Это был [* комментарий *] (http://stackoverflow.com/privileges/comment). –

ответ

3

мне удалось заставить его работать со следующим кодом:

string NRFormat="### ### ##0.00" 
datagridview1.Columns["col1"].DefaultCellStyle.Format = NRFormat; 
datagridview1.Columns["col2"].DefaultCellStyle.Format = NRFormat; 

Это не очень элегантно, но он работает.

1

См этой ссылки CellStyle форматирование >>

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

this.dgv_PreviewGrid.DefaultCellStyle.Format = "D4"; 

D для целых чисел.

+0

Это не работает. D для десятичных знаков. Я получаю ошибку для каждой опции форматирования ячейки. –

0

вы можете попробовать этот.

//1000001 convert to 1 000 001.00 
datagridview1.Columns["col1"].DefaultCellStyle.Format = "### ### ##0.00"; 

//1000 convert to 1 000.00 
datagridview1.Columns["col2"].DefaultCellStyle.Format = "### ### ##0.00"; 
0

В ячейке сетки данных Форматирование событий выполните следующие действия

частный недействительным dg_CellFormatting (объект отправителя, DataGridViewCellFormattingEventArgs е) {

 if (cell.Value is decimal) 
     { 
      e.CellStyle.Format = "0.##"; 
     } 
    }