以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  改为循环代码 简化  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=140802)

--  作者:yifan3429
--  发布时间: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
--  发布时间: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
--  发布时间:2019/9/14 22:51:00
--  
这个代码  在 CurrentChanged  我现在用的是不加载数据,没有数据就会报错 如何优化。
--  作者:y2287958
--  发布时间:2019/9/14 22:57:00
--  

If e.Table.Current IsNot Nothing

判断一下


--  作者:yifan3429
--  发布时间: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() \'重新生成记录窗口

--  作者:有点蓝
--  发布时间: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