1、首先在BeforeLoadInnerTable事件加入下面的代码,确保订单表初始状态不会加载任何数据:
If
e.DataTableName = "订单" Then
e.Filter = "[_Identify] Is Null"
End If
2、然后修改用户登录窗口的“确定”按钮的代码,在后面加上加载数据的代码:
Dim
UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.ConnectionName = "User"
If UserName = "" Then
Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return
End If
cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
dr = dt.DataRows(0)
If e.Form.Controls("PassWord").Value = dr("Password") Then
_UserName = UserName
_UserGroup = dr("Group")
e.Form.Close
Else
Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
DataTables("订单").LoadFilter = "业务员 = '" & _UserName & "'"
DataTables("订单").Load()
上面代码的最后两行,就是用于根据登录用户名动态加载订单表数据的:
DataTables("订单").LoadFilter = "业务员 = '" & _UserName & "'"
DataTables("订单").Load()
用这个方法怎么不能实现预期效果呢?什么数据也没有?请问是怎么回事?