Vb.net附加信息操作符'-';没有定义类型';日期';和类型';整数';

Vb.net附加信息操作符'-';没有定义类型';日期';和类型';整数';,vb.net,Vb.net,中发生类型为System.InvalidCastExeption的未处理异常 Microsoft.VisualBasic.dll 其他信息:'日期'类型未定义'Operator'-' 并键入“整数” 这就是我想做的 DataGridview1 Date | item1 qty |item2 qty |item3qty 03/05| ___50____ |___50_____|__50____ 03/06| ___50____ |___50_____|__50____ 03/07| ___

中发生类型为
System.InvalidCastExeption
的未处理异常 Microsoft.VisualBasic.dll

其他信息:'日期'类型未定义'Operator'-' 并键入“整数”

这就是我想做的

DataGridview1

Date |  item1 qty  |item2 qty  |item3qty
03/05| ___50____ |___50_____|__50____
03/06| ___50____ |___50_____|__50____
03/07| ___50____ |___50_____|__50____
03/08| ___50____ |___50_____|__50____
03/09| ___50____ |___50_____|__50____

Dim order as intger
Order = 20
Dim z as integer
For z = 0 To 4
 DataGridview1.Rows(item3).Cells(z).Value = DataGridview1.Rows(item3).Cells(z).Value - order
Next
结果必须是:

Date    |item1 qty |item 2 qty |item3 qty |
03/05| ___50____ |___50_____|__30_____|
03/06| ___50____ |___50_____|__30_____|
03/07| ___50____ |___50_____|__30_____|
03/08| ___50____ |___50_____|__30_____|
03/09| ___50____ |___50_____|__30____|

我试图将每行日期的列item3的数量减去20。

在您的代码中,您使用的是一个变量(
item3
),其值和declarion未声明。我只能假设您在其他地方定义了它,并且它的值为0。 在第一个循环中,您的循环获取DataGridView1.Rows(0).Cell(0).Value(这是一个日期)并尝试从中减去20,这会产生错误,因为您无法使用
-
运算符从
日期中减去
整数。
此外,您正在使用迭代变量
z
来索引
单元格
,而不是行。实际上您正在更改第0行的5个单元格,这也会给您一个错误,因为
单元格(4)
不存在

您应该重写代码,如下所示:

Dim item3 as Integer = 3 'This could be a constant
Dim order as intger
Order = 20 'This also could be a constant
Dim z as integer
For z = 0 To 4
 DataGridview1.Rows(z).Cells(item3).Value = DataGridview1.Rows(z).Cells(item3).Value) - order
Next

错误消息本身就说明了这一点。不能使用
-
运算符从
日期中减去
整数。如果你能解释一下你真正想要实现的目标,我们可以建议一种不需要猜测或假设就能实现的方法。你没有徽章这一事实表明你在注册时忽略了进行网站浏览的提示,这是一个坏主意。你现在应该这样做,阅读和,然后将你的问题更新到可接受的标准。如果要从日期中减去天数,可以调用
AddDays
。除此之外,请提供一个完整和明确的解释问题。这通常包括对你试图实现什么的描述,对你试图实现它的方式的描述,以及对你尝试时发生的事情的描述。你得到了最后两个,这很好,但是你错过了第一个。当您不告诉我们您想要什么时,我们很难告诉您如何编写代码来实现您想要的。用不起作用的代码进行计算是不理想的。我还意识到,您似乎在试图修改行中的每个单元格,而不是列中的每个单元格。也许你到底是想减去
整数
值。如果你拒绝提供解释,我们怎么知道?努力帮助我们帮助你。那么,你是说,而不是说,你想从第四列的所有数字中减去20?写“我想从第四列的所有数字中减去20”有多难?