Foxtable(狐表)用户栏目专家坐堂 → 改为循环代码 简化


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

主题:改为循环代码 简化

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


加好友 发短信
等级:九尾狐 帖子:2454 积分:22630 威望:0 精华:0 注册:2011/3/29 17:14:00
改为循环代码 简化  发帖心情 Post By:2019/9/14 22:40:00 [只看该作者]

If Forms("客户板块").Opened Then '如果窗口已经打开
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("客户板块_Table1").FindRow(dr)
    If wz >=0 Then
        Tables("客户板块_Table1").Position = wz
    End If
    Dim wz1 As Integer = Tables("客户板块_Table2").FindRow(dr)
    If wz1 >=0 Then
        Tables("客户板块_Table2").Position = wz
    End If
    Dim wz11 As Integer = Tables("客户板块_Table3").FindRow(dr)
    If wz11 >=0 Then
        Tables("客户板块_Table3").Position = wz
    End If    
End If

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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/9/14 22:46:00 [只看该作者]

If Forms("客户板块").Opened Then '如果窗口已经打开
    Dim dr As DataRow = e.Table.Current.DataRow
    For i As Integer = 1 ti 3
        Dim wz As Integer = Tables("客户板块_Table" & i).FindRow(dr)
        If wz >=0 Then
            Tables("客户板块_Table" & i).Position = wz
        End If
    Next
End If

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


加好友 发短信
等级:九尾狐 帖子:2454 积分:22630 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2019/9/14 22:51:00 [只看该作者]

这个代码  在 CurrentChanged  我现在用的是不加载数据,没有数据就会报错 如何优化。

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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/9/14 22:57:00 [只看该作者]

If e.Table.Current IsNot Nothing

判断一下


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


加好友 发短信
等级:九尾狐 帖子:2454 积分:22630 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2019/9/17 7:51:00 [只看该作者]

老师这个怎么做循环简化

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.Table = Tables(e.form.tablename) '指定绑定表
rgd.Columns = "用户ID|用户姓名|楼盘|单元房号|状态|报备人|客户等级|用户电话|新房面积|图纸提供"
'Tables(e.form.tablename).Cols("摘要").RecordRowHeight = 3 '备注列的高度为3倍行高
'Tables(e.form.tablename).Cols("结果定义").RecordRowHeight = 3 '备注列的高度为3倍行高
Dim dg = e.Form.Controls("RecordGrid1").basecontrol
dg.styles.EmptyArea.BackColor = Color.White '重新生成记录窗口背景底色
rgd.Build() '重新生成记录窗口

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid2")
rgd.Table = Tables(e.form.tablename) '指定绑定表
rgd.Columns = "用户ID|用户姓名|楼盘|单元房号|状态|报备人|客户等级|用户电话|新房面积|图纸提供"
'Tables(e.form.tablename).Cols("摘要").RecordRowHeight = 3 '备注列的高度为3倍行高
'Tables(e.form.tablename).Cols("结果定义").RecordRowHeight = 3 '备注列的高度为3倍行高
Dim dg = e.Form.Controls("RecordGrid2").basecontrol
dg.styles.EmptyArea.BackColor = Color.White '重新生成记录窗口背景底色
rgd.Build() '重新生成记录窗口

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid3")
rgd.Table = Tables(e.form.tablename) '指定绑定表
rgd.Columns = "用户ID|用户姓名|楼盘|单元房号|状态|报备人|客户等级|用户电话|新房面积|图纸提供"
'Tables(e.form.tablename).Cols("摘要").RecordRowHeight = 3 '备注列的高度为3倍行高
'Tables(e.form.tablename).Cols("结果定义").RecordRowHeight = 3 '备注列的高度为3倍行高
Dim dg = e.Form.Controls("RecordGrid3").basecontrol
dg.styles.EmptyArea.BackColor = Color.White '重新生成记录窗口背景底色
rgd.Build() '重新生成记录窗口

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/17 8:53:00 [只看该作者]

For i As Integer = 1 To 3
    Dim rg As String = "RecordGrid" & i
    Dim rgd As WinForm.RecordGrid = e.Form.Controls(rg)
    rgd.Table = Tables(e.form.tablename) '指定绑定表
    rgd.Columns = "用户ID|用户姓名|楼盘|单元房号|状态|报备人|客户等级|用户电话|新房面积|图纸提供"
    'Tables(e.form.tablename).Cols("摘要").RecordRowHeight = 3 '备注列的高度为3倍行高
    'Tables(e.form.tablename).Cols("结果定义").RecordRowHeight = 3 '备注列的高度为3倍行高
    Dim dg = e.Form.Controls(rg).basecontrol
    dg.styles.EmptyArea.BackColor = Color.White '重新生成记录窗口背景底色
    rgd.Build() '重新生成记录窗口
Next

 回到顶部