DataGridView数据提取计算

weixin_45823259 2019-11-29 10:46:13
System.NullReferenceException:“未将对象引用设置到对象的实例。”


Public Class FormZsz
Public Sub cmdDBInput_Click(sender As Object, e As EventArgs) Handles cmdDBInput.Click
、、、、、
DataGridView1.DataSource = aa


如何将DataGridView中第二列的数据赋给下面代码中的ActQ


Module ModuleCalculation
、、、、、、、、、、、、
If Cell(SimplyCell(i).NodeIndex).Type = "zsz" Then

ZszXH = GetZszIndex(Cell(SimplyCell(i).NodeIndex).Name)
H(i) = Zsz(ZszXH).ActGY * 102

C(i) = Zsz(ZszXH).ActQ
...全文
253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35503830 2020-01-10
  • 打赏
  • 举报
回复
在你的另外一个帖子中已经恢复了. 再回复一遍会不会给双份积分? 先上例程,

Private Sub CalcColumns()
     Dim rate As Single = .0862
     Dim table As New DataTable()
 
     ' Create the first column.
     Dim priceColumn As New DataColumn()
     With priceColumn
         .DataType = System.Type.GetType("System.Decimal")
         .ColumnName = "price"
         .DefaultValue = 50
     End With
     
     ' Create the second, calculated, column.
     Dim taxColumn As New DataColumn()
     With taxColumn
         .DataType = System.Type.GetType("System.Decimal")
         .ColumnName = "tax"
         .Expression = "price * 0.0862"
     End With
     
    ' Create third column
     Dim totalColumn As New DataColumn()
     With totalColumn
         .DataType = System.Type.GetType("System.Decimal")
         .ColumnName = "total"
         .Expression = "price + tax"
     End With
 
     ' Add columns to DataTable
     With table.Columns
         .Add(priceColumn)
         .Add(taxColumn)
         .Add(totalColumn)
     End With
    
     Dim row As DataRow= table.NewRow
     table.Rows.Add(row)
     Dim view As New DataView
     view.Table = table
     DataGrid1.DataSource = view
 End Sub
实现,主要用到 DataColumn.Expression属性.
weixin_45823259 2019-12-02
  • 打赏
  • 举报
回复
因为我这个数据源涉及到生产日期,我需要提取某一个生产日期的数据进行计算,所以我第一步将有用的数据提取出来了,然后需要用这些数据进行计算
正怒月神 2019-12-02
  • 打赏
  • 举报
回复
为何从datagridview中拿? 绑定的数据源里拿出来,不是更好吗? 除非你这个是前台写上去的。 那么你要找到对应的rows和cells
eaqpi 2019-12-02
  • 打赏
  • 举报
回复
偷懒点就把datagridview传过去呗。

public function 计算(byval dgv as datagridview,其他参数) AS double

Zsz(i).ActQ=dgv.Rows(i).Cells(1).Value

end function

class里调用

DIM P AS DOUBLE = 计算(DATAGRIDVIEW1,其他参数)
eaqpi 2019-12-02
  • 打赏
  • 举报
回复
很难理解他们到底要干什么.....

数据库里取值的话,再sql阶段就可以把数据算好了。

dataTable阶段创建个计算列也完事儿了。

不创建计算列,来个For循环计算比较复杂的运算。

--

视乎要把计算单独做成dll,可以更新算法??

反正,不怎么好理解。

weixin_45823259 2019-12-01
  • 打赏
  • 举报
回复



错误是这样的,应该还是传参的错误?
良朋 2019-11-30
  • 打赏
  • 举报
回复
检测你的I的值,确保rows(i)和asz(i) isnot nothing
weixin_45823259 2019-11-30
  • 打赏
  • 举报
回复
我这其中一个是Class
一个是Moudle
直接这么写
Zsz(i).ActQ=DataGridView1.Rows(i).Cells(1).Value
出现错误
  • 打赏
  • 举报
回复
https://blog.csdn.net/hejisan/article/details/52688972
eaqpi 2019-11-29
  • 打赏
  • 举报
回复
datagridview.rows(i).cells(p).value

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧