如何设置一个Combox,总是会有相同的数据,作为用户的控制可用于多种形式

0

的问题

我有一个组合框我上使用多个它. 而不是删除一个组合框在每个WinForm和再填充的组合框数据从一个数据表在每个单独的WinForm,我不能创建一个用户控制(组合框),有的数据已经填充,只是使用,加州大学上我它?

下面是我如何填写的数据对每个单独组合框。 (I有一个公共类sql的东西)

可变SQL来自一类称为SQLControl. 该类的所有sql连接的东西。

Public Sub Fillcombobox()

    sql.AddParam("@ExaminerType", 3)
    sql.ExecQuery("MyStoredProcedure")
    ComboBoxExaminer.ValueMember = "Examiner_ID"
    ComboBoxExaminer.DisplayMember = "Last_Name"
    ComboBoxExaminer.DataSource = sql.DBDT
End Sub

Private Sub MyWinform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Call Fillcombobox()
End Sub
user-controls vb.net winforms
2021-11-23 20:34:47
1

最好的答案

1

你可以把一个小小的 Class Examiner

Public Class Examiner
    Public Property Examiner_ID As Integer
    Public Property Last_Name As String
    Public Sub New(ID As Integer, lname As String)
        Examiner_ID = ID
        Last_Name = lname
    End Sub
End Class

然后,当第一形式载荷,得到的数据在一个列表中申报在一个模块,因此它可以从任何形式的应用程序。 当然,你可能有其他东西在模块。

Module Module1
    Public ExaminerData As New List(Of Examiner)
End Module

Private Sub MyWinform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    FillExaminerList()
    ComboBoxExaminer.ValueMember = "Examiner_ID"
    ComboBoxExaminer.DisplayMember = "Last_Name"
    ComboBoxExaminer.DataSource = ExaminerData
End Sub

任何其他形式的需求数据,以填补一个组合框能使用 ExaminerData. 你只叫 FillExaminerList 一旦在开始应用程序。 只有一个单一的打击上数据库。

Private OPConStr As String = "Your connection string."

Private Sub FillExaminerList()
    Dim dt As New DataTable
    Using cn As New SqlConnection(OPConStr),
            cmd As New SqlCommand("MyStoredProcedure", cn)
        cmd.Parameters.Add("@ExaminerType", SqlDbType.Int).Value = 3
        Using reader = cmd.ExecuteReader
            dt.Load(reader)
        End Using
    End Using
    For Each row As DataRow In dt.Rows
        Dim ex As New Examiner(CInt(row("Examiner_ID")), row("Last_Name").ToString)
        ExaminerData.Add(ex)
    Next
End Sub
2021-11-24 00:51:00

这是一个可怕的解决方案。.... 事实上,我可以使用的理论上的其他数据的使用在整个解决方案。 谢谢!
Gary

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................