窗体开发:窗体打开加载数据,关联表(主表和明细):
1.作下面加载,效果不是很好,有时会关联加载,有时不会加载:
Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m))
Dim Filter As String
Filter = "交货日期>= #" & dt1 & "# And 交货日期<= #" & dt2 & "#"
DataTables("订单登记主表").LoadFilter = Filter
DataTables("订单登记主表").Load()
DataTables("订单登记明细").LoadFilter = Filter
DataTables("订单登记明细").Load()
2. 父表与子表同步加载 :e.DataTable.LoadChildren("子表"),用这个试一下,也是不很好?
要如何实现?
3.窗口打开加载,及并发用OpenQQ实现独占式编辑,冲突?
窗口编辑 上述方案针对的是直接在表中编辑数据,如果不是在表中编辑,而是在窗口编辑,编码方式也是基本相同的。 通常只需将打开编辑窗口的代码改为: Dim r As Row = Tables("表B").Current If QQClient.Ready = False Then '如果QQClient没有启动,则禁止编辑 PopMessage("必须启动QQClient,才能编辑此表数据!","提示",PopIconEnum.Infomation,5) Return End If If r.DataRow.RowState <> DataRowState.Added Then '如果不是新增行 Dim key As String = "表B" & ":" & r("_Identify") If tbrk.Contains(key) = False Then Dim msg = QQClient.SendWait("?#" & Key & "#?",5) '向服务器发送请求编辑信息 If msg = "OK" Then '如果服务器返回OK tbrk.Add(key) '在本地登记正在编辑此行 ElseIf msg > "" Then '否则显示服务器返回的信息,并取消编辑 PopMessage("无法编辑此行,因为:" & vbcrlf & msg ,"提示",PopIconEnum.Infomation,5) Return Else '如果服务器没有返回信息,则取消编辑 PopMessage("因服务器无响应,无法编辑此行!" ,"提示",PopIconEnum.Infomation,5) Return End If End If End If Forms("编辑窗口").Open() |