【问题标题】:Creating new datagridview column formatting创建新的 datagridview 列格式
【发布时间】:2014-02-02 16:39:04
【问题描述】:

我的表单上有DataGridView。我正在尝试格式化一列以显示为货币。

我在这里做错了什么?

this.employeeInfoDataGridView.Columns["Salary"].DefaultCellStyle.Format = "c";

收到此错误消息:

“System.NullReferenceException”类型的未处理异常发生在...

如果有什么不同,我会在 form_load 上使用它。

【问题讨论】:

  • 试试这个one
  • 您是否已将数据表加载到 DGV 中?你能显示你加载 DGV 的代码吗?
  • 是的,它正确地填充了所有数据,只是试图格式化其中一列。
  • @Code_Help - 如果 datagridview 绑定到 db 并且列是自动生成的,则将代码放入 DataBindingComplete 事件处理程序中
  • @Junaith 我在form_load中做过很多次,可能不是最佳实践,但不是异常的原因。

标签: c# .net datagridview


【解决方案1】:

通过进入我的表单 > 点击 datagridview 对象 > 列属性 > 工资列 > 默认单元格样式 > 格式 > c2.

仍然对为什么我不能以同样的方式在代码中做到这一点感到困惑。谢谢大家的帮助。

【讨论】:

    【解决方案2】:

    “System.NullReferenceException”在 form_load 期间尚未创建名为“Salary”的特定列时发生。在这种情况下,您需要执行以下操作以避免此异常:

    if ( this.employeeInfoDataGridView.Columns["Salary"] != null )
    {
        this.employeeInfoDataGridView.Columns["Salary"].DefaultCellStyle.Format = "c";
    }
    

    并且您必须确保在设置该列的 DefaultCellStyle 之前已加载特定列。

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      相关资源
      最近更新 更多