将字符串值分配给 DataGridViewTextBoxColumn 会出现 Int32 错误

问题描述 投票:0回答:1

尝试将字符串“$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
。应该能够分配一个字符串值。

vb.net winforms datagridview
1个回答
0
投票

您的列可能包含

TextBoxes
,但基础数据类型是
Integer
,因此您在单元格中分配的值必须是
Integer
值。如果您希望这些值显示为货币,请让网格进行格式化。将列的
DefaultCellStyle.Format
属性设置为格式字符串,即
AG.MASK_DOLLARS
,然后只需将
amt
分配给单元格的
Value

顺便说一句,如果您要格式化单个值,请不要使用

Format
。我们不是在编写 VB6 代码。调用值本身的
ToString
方法。这意味着,如果你打算按照你想要的方式去做,你可以这样做:

dgr.Cells("Amt").Value = amt.ToString(AG.MASK_DOLLARS)
© www.soinside.com 2019 - 2024. All rights reserved.