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

多列组合框

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.26/5 (24投票s)

2005年4月6日

2分钟阅读

viewsIcon

120597

downloadIcon

2325

一个 VB.NET 中的多列组合框。

引言

这是一个简单的多列组合框,具有从表格加载数据以及通过单击列标题对组合框中的数据进行排序的功能。在这个 UserControl 中,我使用了 Windows Forms 控件(ComboBoxListView)和几行代码。

这个用户控件中的属性和方法如下

属性

  • ColumnSize

    用于指定组合框的列大小。

  • ColumnTitle

    用于指定组合框的列标题。

  • DataFieldList

    用于存储所选项目的的数据。

    例如:在演示组合框中,有两列,EmployeeCodeName。当我们从组合框列表中选择一个项目时,我们希望将员工代码存储在数据库中,并将姓名作为文本在控件中显示。此属性用于保存员工代码。

  • DataFieldToDisplay

    选择后在控件中显示的列的项目。

  • DataSource

    如果我们想从数据库加载数据,可以使用此属性。

    示例

    Dim CnStr As String
    Dim Appcn As New System.Data.OleDb.OleDbConnection()
    Dim Da As New System.Data.OleDb.OleDbDataAdapter()
    Dim Ds As DataSet
    CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\Data\Employee.MDB"
    Appcn = New System.Data.OleDb.OleDbConnection(CnStr)
    Appcn.Open()
    Da = New System.Data.OleDb.OleDbDataAdapter("Select * From Employee", Appcn)
    Ds = New DataSet("Combo")
    Da.Fill(Ds, "Combo")
    MulCol.DataSource = Ds.Tables("Combo")
  • ItemsToDisplay

    如果我们需要添加一些不从数据库来的项目到组合框中,可以使用此属性。这是一个设计时属性。如果我们需要多列,则需要用逗号 (,) 分隔它们。例如

    RAC001,RACHID

    在上面的例子中,‘RAC001’ 是一个员工代码,RACHID 是员工姓名。因此,在组合框中,它将显示为两列。

  • RowsToDisplay

    用于指定要在下拉列表中显示的行数。

  • 文本

    在这个属性中,将存储所选项目。

  • 此属性将存储 ‘DataFieldList’ 的值。

方法

  • AddItem

    此方法用于在运行时向组合框中添加项目。列必须用逗号 (,) 分隔。例如

    MulCol.AddItem("RAC001,RACHID")

属性页

如何使用此控件

将此控件添加到项目中。按照上述说明在属性表中设置属性。将以下代码放置在窗体加载事件处理程序中。

MulCol.LoadData() '---- This is the code to load the combo

假设 UserControl 的名称是 ‘MulCol’。

注意:如果您不打算从表格加载数据,请不要忘记在 ‘ItemsToDisplay’ 属性中添加数据。如果您需要添加多列,则用逗号 (,) 分隔第一个项目和后续项目。

有关更多详细信息,您可以查看演示应用程序。它是一个自解释的应用程序。用户控件也是一个自解释的控件。并且在需要注释的地方,我已经放置了所需的注释。

© . All rights reserved.