我有一列十进制数字,使用N2
格式显示。这意味着数字12000.4656887将显示为12,000.47
:
同时,我有一个用户可以输入文本的文本框,我根据用户指定的过滤器设置了DataView.RowFilter
。问题是用户看到号码12,000.47
,并且他键入12,000.47
,但当然,他没有看到任何内容,因为该号码实际上是12000.4656887
。
从用户的角度来看,这是一个错误。所以我需要根据文本表示进行过滤,而不是根据基础值进行过滤。同时我不想更改DataTable中的基础值。
我尝试使用view.RowFilter = "Convert([number], System.String, 'N2') LIKE '12,000.47'";
之类的内容,但它不起作用 - 只会引发异常Invalid number of arguments: function Convert()
,这意味着Convert
不接受格式参数。
此外,我无法通过更改过滤器值来解决此问题,因为这需要将其从12000.47
“取消”到12000.4656887
。唯一的方法是在过滤时对值进行舍入。