Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中Datagridview的数字格式_C#_.net_Winforms_Datagridview - Fatal编程技术网

C# C中Datagridview的数字格式

C# C中Datagridview的数字格式,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我想以数字格式设置datagridview值。目前我得到的是: 我想要这样的东西: 我使用了以下代码: dgvmain.DefaultCellStyle.Format = "#.##0"; 这个密码呢 dgvmain.Columns["Amount"].DefaultCellStyle.Format = "#.##0"; 但这两种方法都不起作用。转到窗体的设计模式,然后转到dgvmain的属性,在那里选中DefaultCellStyle并设置格式 或 你可以这样做 dgvmain.Colum

我想以数字格式设置datagridview值。目前我得到的是:

我想要这样的东西:

我使用了以下代码:

dgvmain.DefaultCellStyle.Format = "#.##0";
这个密码呢

dgvmain.Columns["Amount"].DefaultCellStyle.Format = "#.##0";

但这两种方法都不起作用。

转到窗体的设计模式,然后转到dgvmain的属性,在那里选中DefaultCellStyle并设置格式

你可以这样做

dgvmain.Columns[Amount].DefaultCellStyle.Format=N2


您可以使用CellStyle Builder设置字符串格式,并将自定义格式设置为mm

如何做到:

在网格上单击鼠标右键,然后单击“属性” 在属性窗口中,单击将弹出“编辑列”对话框的按钮 选择要格式化的单元格 在“编辑列”对话框的右侧,选择DefaultCellStyle属性,单击DefaultCellStyle属性,然后CellStyleBuilder对话框将在此处打开 “格式”属性,这将为您提供“格式字符串”对话框 将自定义属性设置为N2,您将在底部看到预览 单击确定。。。直到你回到你的网格。。。 如果要从代码中执行此操作,请将此代码放在Form_load事件中

dgvmain.Columns["Amount"].DefaultCellStyle.Format = "N2";

你必须发现,第一张截图上的所有数据都是左对齐的

您尝试的格式和其他建议的格式都很好。我必须注意,DefaultCellStyle通常在向网格添加列之前使用。 这种情况下,指定的格式似乎不起作用,告诉我您的数据类型可能是字符串,而不是数字。

试试看

dgvmain.Columns["Amount"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

您是如何添加列、发布代码的?如果没有绑定代码,则很难发现错误。或者,如果使用数据库,您也可以在查询中设置数据格式。如果在将数据绑定到datagridview后设置格式,则不会起作用。建议自动生成列,以便datagridview知道数据类型并可以应用自定义格式,否则您可以使用标准格式。不,不,当然可以。但如果该列没有定期更改,则最好在designer中更改。设计器将把这些数据放在.designer文件中,该文件将现有逻辑与设计分离。如果你问我,格式化是一个设计变更而不是逻辑。这不是对这个问题的回答,OP说它不起作用,而且你的回答是关于设计的建议,与这个问题无关。我想你不理解这个问题。看看OP的第一张图片,它清楚地显示没有应用任何格式。这甚至意味着其他地方出了问题。看看我的