私はよく見えないに違いないが、次の質問に対する答えが見つからないようだ。
数値を含む複数の列を表示するDatagridがあり、1000を超えるものもありますが、小数点を表示できないようです。数値を10進値として保存していますが、表示されません。
私の質問を見てくれてありがとう:)
編集:これは、Windowsフォームのデータグリッドに表示することについてです
Format
でプロパティを設定してみてくださいDataGridTextBoxColumn
。あなたが求めているフォーマットはおそらく"N0"
で、千単位の区切り記号は表示されますが、小数点以下の桁数は表示されません。
DataGridTextBoxColumn textColumn = new DataGridTextBoxColumn();
textColumn.HeaderText = "My Numbers";
textColumn.ReadOnly = true;
textColumn.Format = "N0";
text
編集:アプリケーションが実行されているマシンの文化に関係なく、数値を常に一貫してフォーマットする場合は、FormatInfo
同様に設定する必要があります。
コンピュータの
CultureInfo
は、実際の通貨形式を決定するために使用されます。適切なカルチャ ID で構築された新しいインスタンスにプロパティを設定することで、CultureInfo
forを変更できます。DataGridTextBoxColumn
FormatInfo
CultureInfo
たとえば、ドイツにいて、常に千単位の区切り文字を12.345.678
カンマ (例: ) ではなくピリオド (例: ) として表示したい場合は、次の12,345,678
ように使用します。
textColumn.FormatInfo = new CultureInfo("de-DE");
起動時にApplication.CurrentCultureプロパティを設定してアプリケーション全体のカルチャを変更すると、一貫性が向上する場合があります。
DataGridViewTextBoxColumn に Format プロパティがない DataGridView の場合、次のようにフォーマットを設定する必要があります。
var col = new DataGridViewTextBoxColumn();
var colFormat = new DataGridViewCellStyle();
colFormat.Format = "N0";
col.DefaultCellStyle = colFormat;