Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > MySQL, VB.NET สอบถามปัญหาการทำ multiple combobox ให้สัมพันธ์กัน



 

MySQL, VB.NET สอบถามปัญหาการทำ multiple combobox ให้สัมพันธ์กัน

 



Topic : 062600

Guest




ตอนนี้กำลังฝึกเขียนโปรแกรมอยู่ค่ะ โดยฝึกจาก แต่ติดปัญหาจากหนังสือพัฒนาระบบฐานข้อมูลด้วย vb2005 ของอ.ศุภชัยค่ะ
แต่ยังสงสัยในเรื่องการทำ combobox 2 ตัวให้สัมพันธ์กัน ดังภาพ

combobox

คือต้องการว่าเมื่อเลือกคณะแล้วภาควิชาจะมีอยู่เฉพาะคณะที่เลือกเท่านั้น เท่าที่อ่านดูในบอร์ด ยังไม่ค่อยเข้าใจวิธีการทำงานเท่าไหร่ค่ะ จึงอยากขอคำแนะนำจากทุกๆคน ค่ะ (หนูใช้vb2005 ในการเขียนค่ะ)


Code (VB.NET)
 Private Sub frmPeople_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblPeopleID.BackColor = Color.FromArgb(0, 0, 0, 0)

        Dim FD As New FormFader
        FD.FadeIn(Me, 0.25)

        sw.Reset()
        sw.Start()
        Dim strConn As String
        strConn = DBConnString.strConn

        Conn = New SqlConnection()
        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()
        End With

        sb = New StringBuilder()
        sb.Append("SELECT * FROM tbl_preT;")
        sb.Append("SELECT * FROM tbl_preE;")
        sb.Append("SELECT * FROM tbl_type;")
        sb.Append("SELECT * FROM tbl_campus;")
        sb.Append("SELECT * FROM tbl_dep1 ORDER BY dep1Name;")
        sb.Append("SELECT * FROM tbl_dep2 ORDER BY dep2Name;")

        Dim sqlIni As String
        sqlIni = sb.ToString()

        RemoveHandler cboPreT.SelectedValueChanged, AddressOf cboPreT_SelectedValueChanged
        RemoveHandler cboPreE.SelectedValueChanged, AddressOf cboPreE_SelectedValueChanged
        RemoveHandler cboCampus.SelectedValueChanged, AddressOf cboCampus_SelectedValueChanged
        RemoveHandler cboDep1.SelectedValueChanged, AddressOf cboDep1_SelectedValueChanged
        '    RemoveHandler cboDep2.SelectedValueChanged, AddressOf cboDep2_SelectedValueChanged
        RemoveHandler cboType.SelectedValueChanged, AddressOf cboType_SelectedValueChanged

        com = New SqlCommand()
        With com
            .CommandText = sqlIni
            .CommandType = CommandType.Text
            .Connection = Conn
            dr = .ExecuteReader()
            If dr.HasRows Then

                dtPreT = New DataTable
                dtPreT.Load(dr)
                With cboPreT
                    .BeginUpdate()
                    .DisplayMember = "preTNameS"
                    .ValueMember = "preTID"
                    .DataSource = dtPreT
                    .EndUpdate()
                End With

                dtPreE = New DataTable
                dtPreE.Load(dr)
                With cboPreE
                    .BeginUpdate()
                    .DisplayMember = "preENameS"
                    .ValueMember = "preEID"
                    .DataSource = dtPreE
                    .EndUpdate()
                End With

                dtType = New DataTable
                dtType.Load(dr)
                With cboType
                    .BeginUpdate()
                    .DisplayMember = "typeName"
                    .ValueMember = "typeID"
                    .DataSource = dtType
                    .EndUpdate()
                End With

                dtCampus = New DataTable
                dtCampus.Load(dr)
                With cboCampus
                    .BeginUpdate()
                    .DisplayMember = "CampusNameS"
                    .ValueMember = "campusID"
                    .DataSource = dtCampus
                    .EndUpdate()
                End With

                dtDep1 = New DataTable
                dtDep1.Load(dr)
                With cboDep1
                    .BeginUpdate()
                    .DisplayMember = "dep1Name"
                    .ValueMember = "dep1ID"
                    .DataSource = dtDep1
                    .EndUpdate()
                End With

                dtDep2 = New DataTable
                dtDep2.Load(dr)
                With cboDep2
                    .BeginUpdate()
                    .DisplayMember = "dep2Name"
                    .ValueMember = "dep2ID"
                    .DataSource = dtDep2
                    .EndUpdate()
                End With

            End If
        End With
        dr.Close()

        AddHandler cboPreT.SelectedValueChanged, AddressOf cboPreT_SelectedValueChanged
        AddHandler cboPreE.SelectedValueChanged, AddressOf cboPreE_SelectedValueChanged
        AddHandler cboCampus.SelectedValueChanged, AddressOf cboCampus_SelectedValueChanged
        AddHandler cboDep1.SelectedValueChanged, AddressOf cboDep1_SelectedValueChanged
        '   AddHandler cboDep2.SelectedValueChanged, AddressOf cboDep2_SelectedValueChanged
        AddHandler cboType.SelectedValueChanged, AddressOf cboType_SelectedValueChanged

        iPreT.SelectedValue = cboPreT.SelectedValue
        iPreE.SelectedValue = cboPreE.SelectedValue
        iCampus.SelectedValue = cboCampus.SelectedValue
        iDep1.SelectedValue = cboDep1.SelectedValue
        iDep2.SelectedValue = cboDep2.SelectedValue
        iType.SelectedValue = cboType.SelectedValue

        With cboSearch
            .Items.Add("รหัสบุคคล")
            .Items.Add("ชื่อบุคคล(ภาษาไทย)")
            .Items.Add("ชื่อบุคคล(ภาษาอังกฤษ)")
            '  .Items.Add("คณะ")
            '  .Items.Add("ภาควิชา")
            .Items.Add("เบอร์โทรศัพท์มือถือ")
            .SelectedIndex = 1
        End With

        cboPreT.ContextMenu = New ContextMenu()
        cboPreE.ContextMenu = New ContextMenu()
        cboCampus.ContextMenu = New ContextMenu()
        cboDep1.ContextMenu = New ContextMenu()
        cboDep2.ContextMenu = New ContextMenu()
        cboType.ContextMenu = New ContextMenu()

        picPeople.Image = picPeople.ErrorImage
        ' dtpAdmitDate.Value = DateTime.Today()
        ClearCustomer()

        tsAdd.Enabled = True
        tsOK.Enabled = False
        '  tsCancel.Enabled = False

        sw.Stop()
        ProcessTime = sw.ElapsedMilliseconds / 1000
        _ToolStripLabel.Text = "เวลาที่ใช้ : " & ProcessTime.ToString("0.0000") & "วินาที"
        If (iSubjectDetail = False) Then
            bgwPeople.RunWorkerAsync()
        End If
    End Sub


และอีกอันเป็นส่วน คณะ(Dep1) และภาควิชา (Dep2)
Code (VB.NET)
    Private Sub cboDep1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboDep1.SelectedValueChanged
        iDep1.SelectedValue = cboDep1.SelectedValue
    End Sub

    Private Sub cboDep2_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboDep2.SelectedValueChanged
        iDep2.SelectedValue = cboDep2.SelectedValue
    End Sub




Tag : .NET, MySQL, VB.NET, VS 2005 (.NET 2.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-01 09:23:11 By : yadamonje View : 1921 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คุณเอาค่าจาก SelectedValue ไป BindData ในตัวที่ 2 ก็ได้แล้วครับ

Go to : ช่วยดูให้หน่อยครับ ที่ผมจะทำคือ ใช้ Combobox 2 ตัว ตัวที่ 1 ชื่อ cmbtype






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-01 10:22:19 By : webmaster
 


 

No. 2



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ใน combobox ตัวที่ 2 หนูต้องทำอย่างนี้ใช่มั้ยค่ะ
Code (VB.NET)
    Private Sub cboDep2_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboDep2.SelectedValueChanged

        Dim sqlSelect As String = ""

        sqlSelect = "SELECT *fROM tbl_Dep2 "
        sqlSelect &= " WHERE(dep1ID ='" & cboDep2.SelectedValue.ToString & "') "

        Dim strConn As String
        strConn = DBConnString.strConn

        Conn = New SqlConnection()
        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()
        End With


        If isFind2 = True Then
            ds.Tables("iDep1").Clear()
        End If

        da = New SqlDataAdapter(sqlSelect, Conn)
        da.Fill(ds, "iDep1")
        With cboDep1
            .DataSource = dtDep1.Tables("cboDep1")
            .DisplayMember = "dep1Name"
            .ValueMember = "dep1ID"
        End With
        isFind2 = True

        iDep2.SelectedValue = cboDep2.SelectedValue
    End Sub


แล้วในส่วน form Load หนูต้องเพิ่มเติมอะไรมั้ยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-08 11:56:16 By : jernnrej
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
แล้วในส่วน form Load หนูต้องเพิ่มเติมอะไรมั้ยค่ะ


BindData อันแรกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-08 13:55:38 By : webmaster
 


 

No. 4



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ถามอีกนิดนะคะ
ตอนนี้ิbinding ข้อมูลแล้วค่ะ
แต่ติดerrror ในส่วนfrom load ดังภาพนี้ค่ะ หนูไม่รู้ว่าหนูอ้างตัวแปรผิดรึเปล่าค่ะ?

error


ประวัติการแก้ไข
2011-07-12 09:27:47
2011-07-12 09:31:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-11 10:47:35 By : jernnrej
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : MySQL, VB.NET สอบถามปัญหาการทำ multiple combobox ให้สัมพันธ์กัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่