65.9K
CodeProject 正在变化。 阅读更多。
Home

自定义ListView控件

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.35/5 (14投票s)

2005 年 2 月 25 日

3分钟阅读

viewsIcon

160126

downloadIcon

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 函数。 获取该类并将 ListViewListViewItemSorter 属性设置为等于它。

看看它如何在 ListView 对象的列点击事件中使用的。 下面是自定义 ListView 的设计时属性表的屏幕截图

如何使用该控件

重新生成控件,并将此控件加载到您自己的项目中。 按照上述屏幕截图中属性表中的设置属性,然后运行应用程序。

测试应用程序的屏幕截图如下。 我只是放置了控件并按照上述提到的设置了属性。

如果我们点击“Selected Items”(选定项目)按钮,屏幕将如下所示

如果我们点击“Selected Rows”(选定行)按钮,屏幕将如下所示

如果我们按下“OK”(确定)按钮,它将在消息框中显示下一个选定的行。

© . All rights reserved.