以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]新增字典 报错 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=174289) |
-- 作者:km007 -- 发布时间:2022/1/10 6:16:00 -- [求助]新增字典 报错 Dim fzdx As String = “A;B;C” DIM _fxtj_dt as datatable = datatables("表A") DIM _fxtj_dt1 as datatable = datatables("表B") Dim fzdxs() As String = fzdx.split(";") Dim zd As New Dictionary(Of String, Double) Dim Arys As List(Of String()) = _fxtj_dt.GetValues(fzdx.Replace(";","|")) \'-------------------------------------------------------------------------------------------------------------------------------------- For Each Ary As String() In Arys Dim xh As String = "" For i As Integer = 0 To fzdxs.Length - 1 If xh > "" Then xh = xh & "|" End If xh = xh & Ary(i) Next For Each dc As DataCol In _fxtj_dt1.DataCols Dim j As String = xh & "*" & dc.name zd.Add(j,0) Next Next
|
-- 作者:有点蓝 -- 发布时间:2022/1/10 8:49:00 -- 数据过多,内存溢出 |
-- 作者:km007 -- 发布时间:2022/1/10 10:17:00 -- 请问有何解决方法? 字典上限多少个?
|
-- 作者:狐狸爸爸 -- 发布时间:2022/1/10 10:20:00 -- 别用字典,直接用编号列和名称列,如果一定只要一列,可以将名称列隐藏,然后在DrawCell事件: if e.Col = "编号" then e.text = e.row("名称") end if
|
-- 作者:有点蓝 -- 发布时间:2022/1/10 10:22:00 -- 只能减少生成字典的数据。 这不在于字典上限是多少,因为foxtable是32位程序,目前只能使用大概1G的内存。打开窗口,加载表格数据、生成报表等等都会占用内存,A功能占用的内存多了,B功能就只能使用剩下的内存。不管多少个功能,总共能够使用的内存大概1G左右
|
-- 作者:狐狸爸爸 -- 发布时间:2022/1/10 10:23:00 -- 输入的话,可以动态生成,参考: |
-- 作者:km007 -- 发布时间:2022/1/10 10:29:00 -- 我想将一个表的所有行和所有列添加到字典中 该如何操作? 例如 表A 列名:分类名称、合计1、合计2…合计300 那么我想将每行的 分类名称+每列列名 作为键,每列的合计作为值 字典 zd.add(每行分类名称 & 每列列名,对应的单元格值) 这种还有何方式可改? |
-- 作者:有点蓝 -- 发布时间:2022/1/10 10:34:00 -- 每行主键+列名作为键 |
-- 作者:km007 -- 发布时间:2022/1/10 11:18:00 -- 以下是引用狐狸爸爸在2022/1/10 10:20:00的发言: 别用字典,直接用编号列和名称列,如果一定只要一列,可以将名称列隐藏,然后在DrawCell事件: if e.Col = "编号" then e.text = e.row("名称") end if
您这个并非我想要的,我是别有用途 |