自定义ListView控件






3.35/5 (14投票s)
2005 年 2 月 25 日
3分钟阅读

160126

2070
这是一个自定义的 ListView 控件,具有排序、在列表中查找元素、使用复选框从列表中选择必要的行、选择列表中所有行和反转选择的功能。
引言
这是一个自定义的 ListView
控件,具有排序、在列表中查找元素、使用复选框从列表中选择必要的行、选择列表中所有行和反转选择的功能。
而且,这个控件可以通过指定以下必要的输入,从三种不同类型的数据源(Jet、Oracle 和 SQL Server)中获取数据。 下面是控件中的连接属性。 在属性窗口中,这些将显示在名为“Connection”(连接)的类别中。
DataSource
此属性用于指定连接的数据源。
密码
此属性用于指定数据库的密码,以便在连接中打开它。
提供商
此属性告知连接,我们将从哪种类型的数据库(Jet/Oracle/SQL Server)获取数据到控件。
UserId
此属性用于指定数据库的 UserId,以便打开连接。
下面是控件中的其他 ListView
属性。 在属性窗口中,这些将显示在名为“Listview Settings”(ListView 设置)的类别中。
复选框
这将告诉控件我们是否需要在
ListView
中使用复选框。EasyMultiSelect
这将告诉控件是否在底部显示选定的项目。
EasySelect
这将告诉控件我们是否需要“全选”和“反选”按钮。
FieldDescriptionList
用于指定
ListView
列的列名。FieldNameList
用于指定要将数据从哪个数据库列显示在
ListView
的列中。FieldSizeList
用于指定
ListView
列的列大小。FullRowSelect
开启/关闭
ListView
中的FullRowSelection
。GridLines
开启/关闭
ListView
中的GridLines
。QueryName
指定用于从数据库获取数据到
ListView
的 SQL 语句。
在 ListView
控件中,有两个不可浏览的属性
SelectedItems
这将返回从
ListView
中选择的项目列表。SelectedRows
这是一个
ReadOnly
属性,它将以DataSet
的形式返回已删除的行。
此控件的技术部分
- 当我们在工具箱中加载用户定义的控件时,它将具有
ListView
控件图标,而不是默认图标。 - 将属性分组在属性窗口中的某些类别下。
- 每个属性的描述。
以上提到的内容是通过使用“System.ComponentModel
”,通过以下属性在控件中建立的
<ToolboxBitmap>
此属性用于指定用户控件的图标。
<Description>
此属性用于指定关于属性的简短描述。
<Category>
此属性用于将属性放置在所需的类别中。
例如:
<ToolboxBitmap(GetType(ListView))> _
Public Class ListSelected
<Description("On/Off the Checkbox in Listview"), Category("Listview Settings")> _
Public Property Checkboxes() As Boolean
Get
Checkboxes = LstView.CheckBoxes
End Get
Set(ByVal New_Checkboxes As Boolean)
LstView.CheckBoxes = New_Checkboxes
End Set
End Class
排序
自定义类 (LstSort
) 实现 IComparable
接口,并使用自己的代码覆盖 Compare
函数。 获取该类并将 ListView
的 ListViewItemSorter
属性设置为等于它。
看看它如何在 ListView
对象的列点击事件中使用的。 下面是自定义 ListView
的设计时属性表的屏幕截图
如何使用该控件
重新生成控件,并将此控件加载到您自己的项目中。 按照上述屏幕截图中属性表中的设置属性,然后运行应用程序。
测试应用程序的屏幕截图如下。 我只是放置了控件并按照上述提到的设置了属性。
如果我们点击“Selected Items”(选定项目)按钮,屏幕将如下所示
如果我们点击“Selected Rows”(选定行)按钮,屏幕将如下所示
如果我们按下“OK”(确定)按钮,它将在消息框中显示下一个选定的行。