尝试将字符串“$57,834”分配给
DataGridViewTextBoxColumn
Amt
:
For Each dgr As DataGridViewRow In dgvExpSubject.Rows
dgr.Cells("Amt").Value = Format(amt, AG.MASK_DOLLARS)
出现此错误:
DataGridView 异常:$57,834 不是 Int32 的有效值
Amt
列不是Int32,而是DataGridViewTextBoxColumn
。应该能够分配一个字符串值。
您的列可能包含
TextBoxes
,但基础数据类型是 Integer
,因此您在单元格中分配的值必须是 Integer
值。如果您希望这些值显示为货币,请让网格进行格式化。将列的 DefaultCellStyle.Format
属性设置为格式字符串,即 AG.MASK_DOLLARS
,然后只需将 amt
分配给单元格的 Value
。
顺便说一句,如果您要格式化单个值,请不要使用
Format
。我们不是在编写 VB6 代码。调用值本身的 ToString
方法。这意味着,如果你打算按照你想要的方式去做,你可以这样做:
dgr.Cells("Amt").Value = amt.ToString(AG.MASK_DOLLARS)