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,037

HOME > .NET Framework > Forum > ตอนนี้เพิ่มข้อมูลลงใน DataGridViewได้แล้ว แต่อยากจะทำให้ Item ใน Combobox มีทั้งชื่อและตัวเลขแต่มันติดที่ Type ของฐานข้อมูลเป็น Number



 

ตอนนี้เพิ่มข้อมูลลงใน DataGridViewได้แล้ว แต่อยากจะทำให้ Item ใน Combobox มีทั้งชื่อและตัวเลขแต่มันติดที่ Type ของฐานข้อมูลเป็น Number

 



Topic : 117909



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



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




ตอนนี้เพิ่มข้อมูลลงในdatagridviewได้แล้ว แต่อยากจะทำให้itemในcomboboxมีทั้งชื่อและตัวเลขแต่มันติดที่typeของฐานข้อมูลเป็นNumber(และได้สร้างกล่องคำสั่งผสมที่มีชื่อและตัวเลข)

id


1.อยากจะทำให้itemในcomboboxมีทั้งชื่อและตัวเลข และโชว์ในdatagridviewด้วย
โดยตอนนี้มีcomboboxมีแต่ตัวเลขให้เลือกดังรูป(คอลัมID_Product)

เพราะtapeของฐานข้อมูลเป็นตัวเลข

แต่อยากให้ในcomboboxมีทั้งและตัวเลข โดยสามารถส่งไปในฐานข้อมูลได้ด้วย
มีวิธีมั้ย?
ปล.ไม่สามารถแก้ที่ฐานข้อมูลได้เพราะมีการเชื่อมโยงสัมพันธ์หลากหลายตาราง และจะทำให้ชนิดที่เชื่อมโยงไว้ไม่ตรงกัน

Code (VB.NET)
Private Sub RefreshData()
        If Not con.State = ConnectionState.Open Then
            'open connection
            con.Open()
        End If
        Dim da As New OleDbDataAdapter("SELECT semet as [ID_Product], " & _
                                    "txtnum as [out_num], txtna1 as [out_student], txtna2 as [out_store]," & _
                                    "txtdate as [out_date]" &
                                    "FROM tb_Out_Product ORDER BY semat ", con)


        Dim dt As New DataTable
        'fill data to datatable
        da.Fill(dt)

        'offer data in data table into datagridview
        Me.DataGridView1.DataSource = dt

        'close connection
        con.Close()

    End Sub


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles add.Click
        Dim cmd As New OleDbCommand
        If Not con.State = ConnectionState.Open Then
            'open connection if it is not yet open
            con.Open()
        End If
        cmd.Connection = con

        'check whether add new or update
        If Me.semat.Tag & "=" Then
            'add new
            'add data to table

            cmd.CommandText = " INSERT INTO tb_Out_Product(ID_Product, out_num, out_student, out_store, out_date)" & _
                              " VALUES (" & Me.semat.SelectedItem & ",'" & Me.txtnum.Text & "','" & _
                              Me.txtna1.Text & "','" & Me.txtna2.Text & "','" & _
                             Me.txtdate.Text & "')"

            cmd.CommandType = CommandType.Text
            cmd.ExecuteNonQuery()
        Else
            'update data in table
            cmd.CommandText = "Update tb_Out_Product" & _
                            "SET ID_Product" & Me.semat.SelectedItem & _
                            ",out_num" & Me.txtnum.Text & "'" & _
                            ",out_student" & Me.txtna1.Text & "'" & _
                            ",out_store" & Me.txtna2.Text & "'" & _
                            ",out_date1" & Me.txtdate.Text & "'" & _
                            "WHERE ID_Product=" & Me.semat.Tag
            cmd.ExecuteNonQuery()
        End If



        'refresh data in list
        RefreshData()

        'clear form
        Me.Button6.PerformClick()

        'close connection
        con.Close()

    End Sub





Tag : .NET, Ms Access, VB.NET, VS 2012 (.NET 4.x)









ประวัติการแก้ไข
2015-07-20 01:45:30
2015-07-20 01:50:18
2015-07-20 01:58:52
2015-07-20 02:02:41
2015-07-20 02:03:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-20 01:42:37 By : peemes101 View : 1773 Reply : 13
 

 

No. 1



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



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

ถ้าไม่แก้ที่ Field ก้เอา Data มาต่อสตริง โดยวนลูป แต่วิธีนี้คุณต้องเขียนคำสั่งเพิ่มมากขึ้นเลยครับ
ลองดูนะครับ

Code (VB.NET)
Sub Show_Combobox ()
          dim A as integer = จำนวนข้อมูลที่จะแสดงใน combobox
          dim B as string = ชื่อสินค้า
          dim I as integer
          For I = 0 to  A
               combobox1.Itemdata = A & B
          Next 
end Sub


น่าจะประมาณนี้นะครับ ผมเข้าใจถูกหรือเปล่าก็ไม่ทราบ แต่ก็ขอให้โปรแกรมของคุณประสพผลสำเร็จนะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 07:57:14 By : noonkamfunt
 


 

No. 2



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



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


ตรง
dim A as integer = จำนวนข้อมูลที่จะแสดงใน combobox
dim B as string = ชื่อสินค้า

หลังเท่ากับจะต้องพิมยังไง
โดยที่ จำนวนที่ข้อมูลมี30ตัว
เช่น 101ส้ม
102 มะละกอ


ประวัติการแก้ไข
2015-07-20 08:21:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 08:12:03 By : peemes101
 

 

No. 3



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



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

101 กับ ส้ม
102 กับ มะละกอ

อยากทราบว่า แยกกันคนละ Field หรือเปล่าครับ ถ้าไม่แยกก็เอามาใส่ที่ Combobox ได้เลย ไม่ต้องต่อสตริง

Code
Sub Show_Combobox () dim B as string = ชื่อ Field ที่ต้องการแสดงใน Combobox dim I as integer For I = 1 to 30 combobox1.Itemdata = B Next end Sub



แต่ถ้าแยกกันคนละ Field ก็เอามาต่อสตริงครับ


Code
Sub Show_Combobox () dim A as string = Field รหัสสินค้า dim B as string = Field ชื่อสินค้า dim I as integer For I = 0 to 30 combobox1.Itemdata = A & B Next end sub


ที่จริงแล้วไม่อยากให้ระบุจำนวน Record แบบตายตัว เพราะถ้าเราเพิ่มจำนวนสินค้าก็จะต้องมาแก้โปรแกรมอีก
ทางที่ดีควร Count จำนวน Record ออกมาก่อนแล้วค่อยเอามาวนลูปครับเช่น

Code
Sub Show_Combobox () Dim C as integer = rs.RecordCount (หมายถึงจำนวน Record ที่เราจะเอาไปวนลูป) dim A(1) as string (ทำเป็นตัวแปร Array) dim I as integer A(0) = Field รหัสสินค้า A(1) = Field ชื่อสินค้า For I = 0 to C combobox1.Itemdata = A(0) & A(1) Next end sub


ลองดูนะครับและขอให้โปรแกรมของคุณประสพผลสำเร็จนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 08:43:30 By : noonkamfunt
 


 

No. 4



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



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


น่าจะเข้าใจผิดหรือป่าว?
คือ 1.ต้องการให้ในcombobox มีทั้งตัวเลขและข้อความให่เลือกเช่น 101ส้ม 102มะละกอ (อยู่ติดกัน) และสามารถส่งไปยังฐานข้อมููลได้
2.แต่มันติดที่typeของฐานข้อมูลเป็นNumber(คอลัมID_Product) ดังนั้นตอนนี้จึงมีแต่ตัวเลขคือ 101 102 103......
3.แต่typeของID_productได้สร้างกล่องคำสั่งผสมที่มีชื่อและตัวเลขไว้ด้วย

ปล.สิ่งที่ต้องการคือข้อ 1,

ถ้าที่คุณบอกมันตรงกับที่ขอแล้วก็ขอโทษด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-20 18:46:37 By : peemes101
 


 

No. 5



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



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

พอดีผมก็ไม่เคยทำแบบนั้นเพราะ ปกติแล้วเรื่องสินค้านั้นจะแยกเก็บประมาณนี้ครับ รหัสสินค้า,ชื่อสินค้า,รหัสประเภทสินค้า,จำนวน,หน่วยนับ,ราคาทุน,ราคาขาย,ที่เก็บสินค้า วันหมดอายุ และอื่น ๆ ตามที่ User ต้องการ ... หากคุณ Design Database ผิดตั้งแต่แรกแล้ว จะทำให้การเขียนโปรแกรมยุ่งยากเปลืองคำสั่งโดยไม่จำเป็น และเรื่องเกี่ยวกับสินค้านั้น ในการออกแบบฐานข้อมูลคุณควรคำนึ่งถึงเรื่องรายงาน Report ที่จะต้องออกมา การเรียงลำดับ การจัดกลุ่มของสินค้า การจัดกลุ่มตามประเภทสินค้า และรายงานสินค้ารายตัว (Stock Card) ซึ่งจะมี MoveMent เรียงตามวันที่ เดือนปี ว่า รับเข้าเท่าไหร่ ออกเท่าไหร่ ราคาทุนประจำวัน ราคาขายประจำวัน (เพื่อจะได้นำไปคำนวณขาดทุน กำไร) ประมาณนี้นะครับ อย่างไรแล้วเดีี่ยวคงจะมีผู้ชำนาญการระดับเทพอีกหลายท่าน เข้ามาแนะนำให้คุณนะครับ ... เอาใจช่วยครับและ ขอให้โปรแกรมของคุณประสพผลสำเร็จครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 11:29:08 By : noonkamfunt
 


 

No. 6



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



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


แล้วไม่มีทางอื่นอีกหรอที่จะให้ใน comboboxของID_Productที่จะโชว์ทั้งตัวเลขและข้อความ แต่ก็ต้องส่งไปฐานข้อมูลที่เป็นชนิดnumberได้อีกด้วย

เพราะได้มีการสร้างสัมพันธ์ต่างๆเอาไว้หมดแล้วในaccess คือถ้าเปลี่ยนเป็นtext ก็จะต้องเปลี่ยนหมดเลย


ประวัติการแก้ไข
2015-07-23 07:09:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-21 13:32:26 By : peemes101
 


 

No. 7



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



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


ได้โปรดหาทางช่วยที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 07:10:50 By : peemes101
 


 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

เพิ่มฟอร์มอีกอันเอามาเลือกครับ

ผกอดเเั่กพหด

แถมต่อยอดได้เยอะกว่า combobox อีกต่างหาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 09:06:53 By : lamaka.tor
 


 

No. 9



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



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

ถ้าจะใช้ Combobox ผมแนะนำว่าให้เปลี่ยน Type ของ ID_Product จาก Number เป็น Text เสียครับ รับรอง อย่างนี้ได้แน่นอนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 09:48:07 By : noonkamfunt
 


 

No. 10



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



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


คุณnoon คือมันได้เชื่อมโยงกันเยอะมาก ในaccess ดังนั้นถ้าจะเปลี่ยนมันคงต้องเปลี่ยนหมดเลย

ถามคุณ TOR_CHEMISTRY
แล้วมันต้องสร้างยังไง


ประวัติการแก้ไข
2015-07-23 10:34:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 10:25:23 By : peemes101
 


 

No. 11



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

zsdfsfsfd

Code (VB.NET)
Public Class Form3
    Dim connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=X:\DATA\PostCode.mdb;Jet OLEDB:Database Password=4410210091"
    Dim ChkColumn As System.Windows.Forms.DataGridViewCheckBoxColumn = New System.Windows.Forms.DataGridViewCheckBoxColumn()
    Public item As Integer = 0
    Public p As String = "TOR"
    Function GetTableForm(_SQL As String) As System.Data.DataTable

        Dim ds As New System.Data.DataSet()
        Dim conn As New System.Data.OleDb.OleDbConnection(connectionString)
        conn.Open()
        Dim adapter As New System.Data.OleDb.OleDbDataAdapter(_SQL, conn)
        adapter.Fill(ds)
        Return ds.Tables(0)
    End Function

    Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.ChkColumn})
        DataGridView1.DataSource = GetTableForm("SELECT pvnID, Province, Symbol FROM Sett_Post_Province")

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For i As Integer = 0 To DataGridView1.RowCount - 1
            item = Convert.ToInt32(DataGridView1(1, i).Value)
            p = DataGridView1(2, i).Value
            If Convert.ToBoolean(DataGridView1(0, i).Value) = True Then
                Close()
                Exit Sub
            End If

        Next
    End Sub
End Class


Code (VB.NET)
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim f As New Form3()
        f.ShowDialog()
        MessageBox.Show(f.item & vbCrLf & f.p)
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class



ปล.ยกความรู้นี้ให้โปรแกรม Payrow ครับ เพราะผมเหนเขาเขียนแล้วใช้ง่ายก็เลยลองเอามาใช้มั่ง
ความจริงสามารถให้ user ใช้ SQL ในการค้นหาตรง Form3 ได้นะครับโดยมี textbox,button ให้ user ใช้งานสะดวกมาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 11:40:28 By : lamaka.tor
 


 

No. 12



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



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

คงต้องเอาไปประยุกต์ใช้เอานะครับ แต่ผมดูแล้วไม่น่าจะตรงประเด็นกับของคุณ PM สักเท่าไหร่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 13:05:16 By : noonkamfunt
 


 

No. 13



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

นำเน๋ออีกแบบครับ
System.Windows.Forms.DataGridViewComboBoxColumn
ใช้ง่ายไม่วุ่นวาย
xgfghf

Code (VB.NET)
Friend WithEvents DataGridViewTextBoxColumn3 As System.Windows.Forms.DataGridViewComboBoxColumn
Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewComboBoxColumn()

Me.DataGridViewTextBoxColumn3.DataSource = Me.Sett_Post_ProvinceBindingSource        
Me.DataGridViewTextBoxColumn3.DataPropertyName = "Pnv"
Me.DataGridViewTextBoxColumn3.DisplayMember = "Province"
Me.DataGridViewTextBoxColumn3.ValueMember = "pvnID"
        Me.DataGridViewTextBoxColumn3.HeaderText = "Pnv"
        Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3"
        Me.DataGridViewTextBoxColumn3.Resizable = System.Windows.Forms.DataGridViewTriState.[True]
        Me.DataGridViewTextBoxColumn3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic
        


ประเด็นหลักคือ DataSource,DataPropertyName,DisplayMember ,ValueMember

ปล. ยกความชอบให้ พนง ส่งเอกสาร เพราะเขาบอกว่าอยากได้แบบง่ายๆไม่ซับซ้อนวุ่นวายเลยจัดให้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 14:17:50 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ตอนนี้เพิ่มข้อมูลลงใน DataGridViewได้แล้ว แต่อยากจะทำให้ Item ใน Combobox มีทั้งชื่อและตัวเลขแต่มันติดที่ Type ของฐานข้อมูลเป็น Number
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่