설정하는 방법 Combox,항상 같은 데이터,사용자에게 통제하는 데 사용될에 여러 형태

0

질문

가 콤보는 내가 사용하는 여러 WinForms. 는 대신 반납 콤보에 각 WinForm 다음을 채우 콤보 데이터 DataTable 에서 각 개인 WinForm,수 없었다 나는 사용자 만들기 제어 콤보 상자()가 있는 데이터 채워지는 이미 사용하는 UC 내 Winforms?

방법은 아래 나는 데이터를 채우기 위해 서는 개별 combobox 지금입니다. (가 공용 클래스에 대한 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 면서 응용 프로그램의 시작 부분. 하나만 있 hit 데이터베이스에 있습니다.

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ý
..................................................................................................................