Foxtable(狐表)用户栏目专家坐堂 → 怎么无法给分组赋值?


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

主题:怎么无法给分组赋值?

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
怎么无法给分组赋值?  发帖心情 Post By:2020/6/19 8:16:00 [只看该作者]

  我在对阵表窗口男子组按钮里写了代码,可无法给比赛积分表分组列赋值,不知问题在呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:象棋排赛.foxdb
密码:888888


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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 9:09:00 [只看该作者]

没看到哪里有给分组列赋值的代码

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/19 9:34:00 [只看该作者]

不是这样赋值吗?那应怎么写?
Dim qsmc As WinForm.ComboBox = e.Form.Controls("棋赛名称")
Dim di1 As String = qsmc.Value
Dim m As WinForm.TextBox = e.Form.Controls("第几轮")
Dim di2 As String = m.Value
Dim bsrq As WinForm.DateTimePicker = e.Form.Controls("rq")
Dim di3 As Date = bsrq.Value
Dim Str As String = "男子组"
Dim dr As DataRow = DataTables("比赛积分").SQLfind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "'And [性别] = '男' And [分组] = '" & Str & "'")
Dim a As String = Cstr(Val(di2)-1)
Dim i2 As Integer = 1
Dim ii2 As Integer = 1
Dim dts As List(of DataRow) = DataTables("基本信息").SQLSelect("[棋赛名称] = '" & di1 & "'And [身份] = '参赛人' And [性别] = '男'")
DataTables("比赛积分").DeleteFor("[棋赛名称] is null and [第几轮比赛] is null And [分组] = '男子组'")
Dim cnt As Integer
cnt = DataTables("比赛积分").Compute("Count([姓名])", "[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "'And [性别] = '男' And [分组] = '" & Str & "'")
If di2 =1 And cnt = 0 Then
    Do While dts.Count > 0
        Dim idx As Integer = rand.Next(0,dts.Count-1)
        dr = DataTables("比赛积分").AddNew
        dr("桌号") = math.Ceiling((i2) / 2)
        dr("日期") = di3
        dr("棋赛名称") = di1
        dr("第几轮比赛") = di2
        dr("分组") = Str
        dr("编号") = dts(idx)("编号")
        dr("姓名") = dts(idx)("姓名")
        dr("轮赛次数值转换") = Val(di2)
        dts.RemoveAt(idx)
        i2 + = 1
    Loop
    DataTables("比赛积分").Load
    DataTables("比赛积分").Save()
    DataTables("男子组").DataRows.Clear
    Dim drs1 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "'And [性别] = '男' And [分组] = '" & Str & "'","","桌号 Desc")
    For i As Integer = 0 To drs1.Count - 1 Step 2
        If i + 1 <= drs1.Count - 1
            Dim nr As DataRow = DataTables("男子组").AddNew
            nr("桌号") = drs1(i)("桌号")
            nr("红方_编号") = drs1(i)("编号")
            nr("红方_姓名") = drs1(i)("姓名")
            nr("黑方_编号") = drs1(i+1)("编号")
            nr("黑方_姓名") = drs1(i+1)("姓名")
        End If
    Next

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/19 9:35:00 [只看该作者]

哦,写成这样:
 dr("分组") = "Str"

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/19 9:36:00 [只看该作者]

不对啊,那不是直接就是str

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 9:41:00 [只看该作者]

1楼的项目没看到有这个代码。就是3楼的用法

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/19 9:45:00 [只看该作者]

代码在对阵表窗口男子组按钮里,问题是执行后对阵表分组列并无生成数据。
[此贴子已经被作者于2020/6/19 9:49:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 9:52:00 [只看该作者]

重新上传项目,1楼的项目男子组按钮和3楼的代码很多不一样

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/6/19 9:55:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:象棋排赛2020619.foxdb


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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 10:16:00 [只看该作者]

datacolchanged事件的影响,调换一下赋值的位置,放到棋赛名称、编号,姓名赋值之后,不然这几列会触发datacolchanged事件,从基本信息表取分组覆盖回来。或者取消datacolchanged事件给分组赋值的代码

    Do While dts.Count > 0
        Dim idx As Integer = rand.Next(0,dts.Count-1)
        dr = DataTables("比赛积分").AddNew
        dr("桌号") = math.Ceiling((i2) / 2)
        dr("日期") = di3
        dr("棋赛名称") = di1
        dr("第几轮比赛") = di2
        dr("编号") = dts(idx)("编号")
        dr("姓名") = dts(idx)("姓名")
        dr("轮赛次数值转换") = Val(di2)
        dr("分组") = Str
        dts.RemoveAt(idx)
        i2 + = 1
    Loop

 回到顶部