Visual Basic.NET 7.x (2002/03)Visual Basic 9 (2008)Visual Basic 8 (2005)Visual Basic 6中级开发Visual Basic
带筛选的通用记录选择器






3.67/5 (2投票s)
带数据筛选器的通用记录选择器 Windows 窗体

引言
我一直不太喜欢使用组合框来选择记录,所以我想出了记录选择器。通过将一组参数(数据集、列标题等)传递给记录选择器类库,你将获得一个新的Windows窗体,显示所有传递给它的数据。支持多条记录选择,并且文本框过滤器会在你输入时过滤每一项。
Using the Code
我包含了一个演示应用程序,但基本上,你需要添加对类库SZ-CL-0003的引用(我知道这命名方式不是最好或最具描述性的,但这是我一直使用的!),并声明一个string
数组变量来分配选定的记录。
记录选择器使用以下参数:
数据集
一个标准的system.data.dataset
。虽然当前版本只允许在屏幕上显示两列数据,但任何额外的列都将被添加到记录的工具提示文本中。工具提示文本包含在过滤器中。
strtitle
一个包含选择屏幕标题的string
变量。
strcolumns
一个包含要在屏幕上显示的两个列的string
数组(我可能会在以后增加这个数量)。
strfixed (可选 (默认: Nothing))
一个包含固定项的string
数组,这些项将出现在列表中以供选择,但始终显示在列表顶部,并且不受过滤器影响。
每个固定项由一个3元素数组组成
- (0) = 第1个固定项 第1列文本
- (1) = 第1个固定项 第2列文本
- (2) = 第1个固定项 工具提示文本
- (3) = 第2个固定项 第1列文本
- (4) = 第2个固定项 第2列文本
- (5) = 第2个固定项 工具提示文本
blnmultiple (可选 (默认: True))
一个布尔值,用于确定是否允许进行多项选择。如果列表中选择多项,工具栏上将出现一个“选择”按钮,如果只需要一条记录,则只需双击该项即可选择它。
示例代码
以下代码允许用户从用户数据集中选择单个用户,或者通过选择<NEW>
固定行项来添加新用户,应放置在按钮单击事件中。
在此示例中,已经添加了对SZ-CL-0003的引用,并且数据集已经创建并填充。
Dim selector As New SZ_CL_0003.Selector
Private Sub btnSelectSingleAddNew_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSelectSingleAddNew.Click
Dim strtitle As String = "Select Users"
Dim strcolumns(2) As String
Dim strfixed(3) As String
strcolumns(0) = "User Code"
strcolumns(1) = "Name"
strfixed(0) = "<NEW>"
strfixed(1) = "Add New User"
strfixed(2) = "Add a new user record to the database"
Dim struser() As String = selector.Select_Records_
(dataset, strtitle, strcolumns, strfixed, False)
If struser IsNot Nothing Then
For intloop As Integer = 0 To (UBound(struser) - 1)
If struser(intloop) = "<NEW>" Then
Add_New_User
Else
MessageBox.Show(struser(intloop), "User Selected", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Next
End If
End Sub
历史
- 2009年4月16日 - 13:25 - 添加了代码以允许使用<RTN>键进行选择,或使用<ESC>键退出而不进行选择