Visual Basic.NET 7.x (2002/03)Visual Basic 10Visual Basic 9 (2008)Visual Basic 8 (2005)Visual Studio 2005Windows XP.NET 2.0初学者开发Visual StudioWindows.NETVisual Basic
带筛选器的通用记录选择器 2






2.60/5 (2投票s)
对我的原始通用记录选择器的更新。
引言
今年四月,我发表了一篇文章,介绍了这个类模块的版本 1,它允许开发人员传入一些基本设置和一个数据集,以生成一个选择屏幕,该屏幕使用户能够过滤数据集,然后选择所需的记录。
版本 1 有几个限制:表单是固定大小的,并且视图只允许两列。在版本 2 中,这两个限制都被取消了。
Using the Code
类的使用方法与版本 1 相同,但传入的参数已更改。
数据集
strtitle
strcolumns
strstatics
blnmultiple
(可选(默认值 =False
))
一个标准的 System.Data.DataSet
。 这可以包含所需数量的数据列。
一个 String
变量,包含选择屏幕的标题。
一个 String
数组,包含要在屏幕上显示的列。 数组的每个属性应包含列标题和宽度,以逗号分隔(例如,“用户名,200”)。 加载时,表单将拉伸以包含指定的所有列,直到达到用户屏幕的宽度,此时将出现一个水平滚动条。
一个 String
数组,包含将出现在选择列表中的固定项目,但将始终出现在列表的顶部,并且不会受到筛选器的影响。 数组的每个属性包含要在表单上显示的一行数据,用逗号分隔列(例如,“IWALLACE,Ian Wallace”)
一个布尔值,用于确定是否可以进行多项选择。 如果设置为 True
,则可以通过 CTRL-单击行来选择多个记录。 一旦选择了第一行,工具栏上将出现一个“接受”按钮。
示例代码
以下代码允许用户从用户数据集中选择单个用户,或通过选择 <NEW>
固定行项目来添加新用户,应将其放置在按钮单击事件中
在此示例中,已经添加了对 SZCL00001 的引用,并且已经创建并填充了数据集。
Dim selector As New SZCL00001.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(1) As String
strcolumns(0) = "User Code,150"
strcolumns(1) = "Name,250"
strcolumns(2) = "Title,250"
strfixed(0) = "<NEW>,Add A New User"
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