一级窗体中的table1 table2都是sqltable表,怎么实现二级窗口中新增数据后,在一级窗口的表数据即时刷新呢?
table1是主表 Current事件会更具当前表中的uuid 去出发table2加载主表uuid=uuid的数据
Current事件代码如下:
Dim zs1 As Integer = Tables(e.form.name & "_table1").Count
If zs1 >0 Then
If Tables(e.form.name & "_table1").Current("uuid")<>"" Then
vars("主表uuid")=Tables(e.form.name & "_table1").Current("uuid")
Tables(e.form.name & "_table2").Filter="主表uuid='" & Tables(e.form.name & "_table1").Current("uuid") &"'"
Dim zs2 As Integer = Tables(e.form.name & "_table2").Count
If zs2 >0 Then
Tables(e.form.name & "_table3").Filter="附件uuid='" & Tables(e.form.name & "_table2").Current("uuid") &"'"
Else
Tables(e.form.name & "_table3").Filter="uuid='XXXXXXX'"
End If
Else
Tables(e.form.name & "_table2").Filter="uuid='XXXXXXX'"
End If
End If
此主题相关图片如下:1.png
窗体关闭事件代码如下:【代码运行后刷新数据不是很完美,会导致table1表中的Current事件失效,一级窗体就只有最后筛选的这个表数据存在uuid关联数据了;有没有办法保持数据刷新的同时,原来table表中的Current事件代码又能够准确运行呢?】
Dim cmd As new SQL Command
cmd.Connecti
cmd.Comman dText = "SE LECT * F ROM 知识库主表"
Dim dt As DataTable
dt= cmd.ExecuteReader()
dt.LoadFilter=""
dt.Load
Dim tb As WinForm.Table = Forms("知识库").Controls("Table1")
tb.Table.DataSource =dt
tb.Table.SetColVisibleWidth("类别|120|级别|60|行业|120|单位|120|文件名|700")
cmd.Comm andText = "SE LECT * FR OM 知识库附件"
dt= cmd.Execu teReader()
dt.LoadFilter="主表uuid='" & tb.Table.Current("uuid") & "'"
dt.LoadFilter=""
dt.Load
Dim tb1 As WinForm.Table = Forms("知识库").Controls("Table2")
tb1.Table.DataSource =dt
tb1.Table.SetColVisibleWidth("文件名|1120")