Foxtable(狐表)用户栏目专家坐堂 → [求助]代码问题


  共有2632人关注过本帖树形打印复制链接

主题:[求助]代码问题

帅哥哟,离线,有人找我吗?
ezilu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:195 积分:1937 威望:0 精华:0 注册:2018/7/1 10:45:00
[求助]代码问题  发帖心情 Post By:2023/12/11 20:02:00 [显示全部帖子]

表属性,datacolchanged事件:

        Dim dr As DataRow
        dr = DataTables("TypeA1").Find("[Qid] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            Dim opt As String = dr("Opt") 'dr("Opt")是一组用|分割的字符串
            Dim opts() As String
            opts = opt.split("|") '分隔符,把单元格字符串变成数组
            Dim cnt As Integer = opts.Length '数组个数
            '根据数组个数,生成一个打乱顺序的集合,比如数组个数是5个,我需要生成一个集合{0,1,2,3,4},而且是打乱顺序的,再把这5个数组填入表格中
            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
            For i As Integer = 0 To cnt - 1 '开始洗牌
                Dim idx As Integer = ids1(rand.Next(0, ids1.count))
                ids2.Add(idx)
                ids1.Remove(idx)
            Next
            Dim Arys() As Integer
            Arys = ids2.ToArray() '将集合转换为数组
            Dim xxpx As String '新序
            xxpx = String.Join(",", Arys)
            e.DataRow("Xxpx") = xxpx
        End If

这段码是不是可以简化呀  各位大神,我是见招拆招,谢谢麻烦各位大神了

内容一|内容二|内容三|内容四|内容五    2,1,3,0,4  


[此贴子已经被作者于2023/12/11 20:04:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ezilu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:195 积分:1937 威望:0 精华:0 注册:2018/7/1 10:45:00
  发帖心情 Post By:2023/12/11 21:17:00 [显示全部帖子]

内容一|内容二|内容三|内容四|内容五    2,1,3,0,4  
意思就是在表属性的datacolchanged里面
如何实现:
当你在左边单元格输入N个以|分割的内容后
自动在右边单元格里面填入从0至n-1的整数字

大神,谢谢
[此贴子已经被作者于2023/12/11 21:18:13编辑过]

 回到顶部