老师,我看了最好洗8次,不管是100行,1000行,还是10000行,我都设为8次,这样就没问题,不影响效果,对吧?
For i As Integer = 0 To 8 '洗牌次数
'老师.应该现在这个代码是非常完美的代码了,写出来,供大家分享
Dim dt As DataTable = DataTables("数据提取2")
Dim cnt As Integer = dt.DataRows.Count
Dim ids1 As New List(Of Integer) '用于存储洗牌前的位置
Dim ids2 As New List(Of Integer) '用于存储洗牌后的位置
For i As Integer = 0 To cnt - 1 '准备初始的牌
ids1.add(i)
Next
If cnt >= 24 Then
For i As Integer = 0 To cnt \ 3 '设置洗牌次数
ids2.Add(ids1(rand.Next(0, ids1.count)))
Next
Else
For i As Integer = 0 To 8 '设置洗牌次数
ids2.Add(ids1(rand.Next(0, ids1.count)))
Next
End If
dt.StopRedraw() '停止绘制表
For Each dr As DataRow In dt.DataRows
dr("随机数") = Rand.NextString(9)
Next
dt.ResumeRedraw() '恢复绘制表
老师,一打开项目文件提示,这是在
![dvubb 图片点击可在新窗口打开查看](skins/default/filetype/png.gif)
此主题相关图片如下:mmexport1716525559538.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2024-5/202452412445585058.png)
哪里有问题
Dim dt1 As DataTable = DataTables("周结汇总2日")
Dim dt2 As DataTable = DataTables("销售A")
dt1.DataRows.Clear
Dim cs() As String = {"周销售额_星期日", "周销售额_星期一", "周销售额_星期二", "周销售额_星期三", "周销售额_星期四", "周销售额_星期五", "周销售额_星期六"}
For Each dr As DataRow In dt2.Select("日期 is not null", "日期")
Dim d As Date = dr("日期")
Dim y As Integer = d.Year
Dim w As Integer = d.DayOfWeek '算出今天是星期几
If w = 0 Then w = 7
Dim d1 As Date = d.AddDays( - w + 7)
Dim d2 As Date = d.AddDays(6 - w + 7)
Dim fdr As DataRow = dt1.find("添加汇总辅助列_周日 = #" & d1 & "# and 添加汇总辅助列_周六 = #" & d2 & "#")
If fdr Is Nothing Then
fdr = dt1.addnew
fdr("添加汇总辅助列_周日") = d1
fdr("添加汇总辅助列_周六") = d2
End If
Dim i As Integer = d.DayOfWeek
fdr(cs(i)) += dr("金额2") '可能这里有问题
fdr("周销售额_合计") += dr("金额2")
Next
Maintable = Tables("周结汇总2日") '打开生成的统计表
老师, 请看一下, 金额数周1 - 周六的对应不了, 对到了下周, 请问怎么修改?