狐表的交叉统计出现重复列的bug?

发表日期: 2023-07-05

1.存在的问题

交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题

image.png

Dim b As new SQLCrossTableBuilder("tjb1","FinanceInfo")
b.ConnectionName ="DB"
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Year, "支付日期_年")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Month, "支付日期_月")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Day, "支付日期_日")
b.VGroups.AddDef("FinancePayWay","{0}")
b.Totals.AddExp("总计", "FinanceMoney")
Dim t As Table = Tables("FinanceCrossReport_Table1")
t.DataSource  = b.BuildDataSource
t.AutoSizeCols

image.png


2.原因及解决方法

其实是因为支付渠道里,有些内容有空格,例如“微信”、“微信 ”

把支付渠道所有内容遍历一次,去掉空格即可。

推荐使用SqlSelect方法,直接加载临时数据到内存,不触发任何表事件

Dim drs As List(Of DataRow) = DataTables("xxx").SQLSelect("")
For Each dr As DataRow In drs
    dr("支付渠道") = CStr(dr("支付渠道")).Trim
    dr.Save
Next


3.将来规避错误

防止客户自行录入时,继续发生这种错误,可以在BeforeSaveDataRow里统一做处理

e.DataRow("支付渠道") = CStr(e.DataRow("支付渠道")).Trim




随便看看
商务联系QQ : 2385350359

Copyright 2016-2023 江门蓬江区华越科技公司 版权所有 | 承接软件定制开发,欢迎联系
粤ICP备19148806号-5