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 > สอบถามครับ ติดปัญหาการดึงข้อมูลมาโชว์ใน Datagridview ที่เป็นลูกของฟอร์มหลัก [Vb.net+MySQL]



 

สอบถามครับ ติดปัญหาการดึงข้อมูลมาโชว์ใน Datagridview ที่เป็นลูกของฟอร์มหลัก [Vb.net+MySQL]

 



Topic : 119914



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



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




ตอนนี้ผมติดปัญหาตรงที่ ไม่สามารถดึงข้อมูลการค้นหาตามภาพนี้มาลงได้ครับ แต่ปกติเปิดแค่หน้า การเช่า มันก็ดึงมาได้นะครับ พอมาเปิดจากหน้าหลักแบบนี้มันไม่ขึ้นอะไรเลย ช่วยแนะนำหน่อยครับว่าเป็นเพราะอะไร แล้วพอจะมีวิธีแก้มั้ยครับ

qw



Tag : .NET, MySQL, Win (Windows App), VB.NET, VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-14 00:00:01 By : Jamesillion View : 4011 Reply : 16
 

 

No. 1



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

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

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

ลองดูตัวอย่างนี้ครับ



C# การเอา DataGridView มาสร้าง เป็นฟอร์มค้นหา (Search) แบบบ้าน ๆๆ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 07:40:24 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-11-14 07:40:24
รายละเอียดของการตอบ ::
ขอบคุณพี่วินครับ แต่ว่าการค้นหาแบบนี้ปกติก็ทำได้แล้วครับ มันมามีปัญหาตอนเอาฟอร์มการคืนหนังสือมายัดเป็นลูกของฟอร์มหลักน่ะครับ แล้วพอกด ค้นหา มันก็ขึ้นฟอร์มค้นหามานะครับ แต่ตอนที่เลือกข้อมูลมาเพื่อให้มันลงฟอร์มการคือหนังสือมันไม่ยอมมาลงแล้วก็ไม่เกิดอะไรขึ้นเลยครับ สาเหตุเกิดจากอะไรหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 14:50:22 By : Jamesillion
 

 

No. 3



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



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


ดันๆ ครับ ไม่มีใครเคยเจอปัญหาแบบนี้เลยหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 18:25:33 By : Jamesillion
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : Jamesillion เมื่อวันที่ 2015-11-26 18:25:33
รายละเอียดของการตอบ ::
ประกาศตัวแปรแบบไหนเรอะครับ

ในฟอร์มลูก

รึว่าติดตรงไหนลองเอาโค๊ดมาดูครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 18:47:39 By : lamaka.tor
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-11-26 18:47:39
รายละเอียดของการตอบ ::
ผมใช้ code นี้ครับ ในการดักการเปิดฟอร์มซ้ำ แต่กลับดังข้อมูลจากฟอร์มค้นหามาไม่ได้เลยครับ ช่วยทีครับ
Code (VB.NET)
        Dim CurrentForm As Form
        For Each CurrentForm In Me.MdiChildren
            If TypeOf CurrentForm Is Rent Then
                CurrentForm.MdiParent = Me
                CurrentForm.Show() ''ถ้ามีก็ฟ้อง Msgbox 
                MessageBox.Show("ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Exit Sub
            End If
        Next ''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้ 
        Dim frmNew As New Rent
        frmNew.MdiParent = Me
        frmNew.Show()


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 19:33:14 By : Jamesillion
 


 

No. 6



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



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

Code
'' ประกาศค่าตัวแปล -------- Public AddListView(2) As String Public item As ListViewItem ' listview '' ที่ FORM LOAD -------- ListView1.View = View.Details ListView1.GridLines = True ListView1.AutoSize = True ListView1.FullRowSelect = True ListView1.Columns.Add("column name1 ", 200) ListView1.Columns.Add("column name2 ", 200) '' -- ค้นหาข้อมูล ----------------------- Dim sql2 As String = " select column1, column2 from table__ where เงื่อนไขที่จะค้นหา " Dim rss2 As OleDbDataReader rss2 = ExcuteReader(sql2) '' --- วน ADD ค่า ใน ListView ------------ Do While rss2.Read AddListView(0) = rss2.Item("column1 ") AddListView(1) = rss2.Item("column2 ") item = New ListViewItem(AddListView) ListView1.Items.Add(item) Loop



'' ------------ ลองประยุกต์ใช้งาน นะครับ ผิดพลาด ขออภัยครับ(มือใหม่) --------------------
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 19:57:03 By : weerachai.va
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : weerachai.va เมื่อวันที่ 2015-11-26 19:57:03
รายละเอียดของการตอบ ::
ต้องใส่ไว้ในฟอร์มที่ค้นหารึป่าวครับ มือใหม่เหมือนกันครับ รบกวนช่วยอธิบายการทำงานในส่นของฟอร์มโหลดข้างบนหน่อยได้มั้ยครับ ขอบคูณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 20:12:58 By : Jamesillion
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Jamesillion เมื่อวันที่ 2015-11-26 20:12:58
รายละเอียดของการตอบ ::
ตอนนี้ข้อมูลจาก datagrid ลง datagrid แล้วนะครับ ติดแค่จาก datagrid ลง textbox ครับ ช้วยทีครับ นี่ code ครับ
Code (VB.NET)
  Public Sub DataGridView1_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick
        If e.RowIndex = -1 Then Exit Sub
        With DataGridView1
            Rent.txtMemID.Text = .Rows(e.RowIndex).Cells(0).Value.ToString 'Rent คือ ฟอร์มลูกของฟอร์มหลัก
            Rent.cboTitle.Text = .Rows(e.RowIndex).Cells(1).Value.ToString
            Rent.txtName.Text = .Rows(e.RowIndex).Cells(2).Value.ToString
            Rent.txtLName.Text = .Rows(e.RowIndex).Cells(3).Value.ToString
            Rent.txtMemIDCard.Text = .Rows(e.RowIndex).Cells(4).Value.ToString
            Rent.txtAddress.Text = .Rows(e.RowIndex).Cells(5).Value.ToString
            Rent.txtPhoneNumber.Text = .Rows(e.RowIndex).Cells(6).Value.ToString
            Rent.txtEMail.Text = .Rows(e.RowIndex).Cells(7).Value.ToString
        End With
 Me.Close()
    End Sub






ประวัติการแก้ไข
2015-11-26 23:36:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-26 23:35:43 By : Jamesillion
 


 

No. 9



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



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : Jamesillion เมื่อวันที่ 2015-11-26 19:33:14
รายละเอียดของการตอบ ::
จากโค้ดแสดงว่ายังไม่มีการรับข้อมูลจาก Rent มาใช้ใน ฟอร์มหลัก



ตอบความคิดเห็นที่ : 8 เขียนโดย : Jamesillion เมื่อวันที่ 2015-11-26 23:35:43
รายละเอียดของการตอบ ::
มี 2 ทางเลือก
1. ประกาศ textbox ใน Rent ต่างๆเป็นแบบ public (ไม่แนะนำให้ทำ)
2. ประกาศตัวแปร ใน Rent ต่างๆเป็นแบบ public (แนะนำให้ทำ)

อันที่จริง Rent ไม่ควรจะมี textbox ที่เอามารับค่าซะด้วยซ้ำไป
เพราะมันมีหน้าที่แค่ค้นหาข้อมูลใน DataGridView1

ถ้าทำแบบนี้หลังจากปิด Rent ก็จะได้ข้อมูลมาใช้งานเองครับ




ปล. Rent ไม่ควรเป็น MdiChildren เวลาเรียกใช้ควรเป็น .ShowDialog() มากกว่า

C# การเอา DataGridView มาสร้าง เป็นฟอร์มค้นหา (Search) แบบบ้าน ๆๆ
https://www.thaicreate.com/community/csharp-datasource-wizard-search-ban-ban.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 08:32:35 By : lamaka.tor
 


 

No. 10



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



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : Jamesillion เมื่อวันที่ 2015-11-26 23:35:43
รายละเอียดของการตอบ ::


'' เลือก Event CellClick น่ะครับ
Code (VB.NET)
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick

Dim i As Integer
i = DataGridView1.CurrentRow.Index '' Index ของแถวที่กดเลือกครับ

Me.TxtItemId.Text = DataGridView1.Item(0, i).Value
Me.txtitem_name.Text = DataGridView1.Item(1, i).Value


End Sub





'' ------------ ลองประยุกต์ใช้งาน นะครับ ผิดพลาด ขออภัยครับ(มือใหม่) --------------------


ประวัติการแก้ไข
2015-11-27 08:53:32
2015-11-27 09:34:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 08:51:29 By : weerachai.va
 


 

No. 11

Guest


อืมไม่ได้เขียน vb นาน เลยลองเล่นๆดูครับ
ออกแบบฟอร์มแรกง่ายๆ (Form1)
vb1

มีปุ๋มเปิดฟอร์มสอง
Code (VB.NET)
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim frm = New Form2
        frm.ShowDialog()
        Me.TextBox1.Text = frm.productId
        Me.TextBox2.Text = frm.productName
        Me.TextBox3.Text = frm.productPrice
    End Sub
End Class


จากนั้นที่ฟอร์มสองก็มี DataGridView1
vb2

กำหนด Event CellDoubleClick ของ DataGridView1
Code (VB.NET)
Public Class Form2
    Public productId As String
    Public productName As String
    Public productPrice As String
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call AddRowDatagrid()
    End Sub
    Sub AddRowDatagrid()
        'Me.DataGridView1.Rows.Add()
        DataGridView1.ColumnCount = 3
        DataGridView1.Columns(0).Name = "Product ID"
        DataGridView1.Columns(1).Name = "Product Name"
        DataGridView1.Columns(2).Name = "Product_Price"

        Dim row As String() = New String() {"1", "Product 1", "1000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"2", "Product 2", "2000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"3", "Product 3", "3000"}
        DataGridView1.Rows.Add(row)
        row = New String() {"4", "Product 4", "4000"}
        DataGridView1.Rows.Add(row)


    End Sub

    Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick

        If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
            Dim selectedRow = DataGridView1.Rows(e.RowIndex)
            productId = selectedRow.Cells(0).Value.ToString()
            productName = selectedRow.Cells(1).Value.ToString()
            productPrice = selectedRow.Cells(2).Value.ToString()
        End If
        Me.Close()

    End Sub
End Class


ลองเอาไปสร้างตามนี้และรันดูครับ และประยุกต์ใช้เองนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 09:10:23 By : บัญดิษฐ
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-11-27 08:32:35
รายละเอียดของการตอบ ::
ลองทั้ง 2 วิธีก็ยังไม่ได้เลยครับ เปลี่ยนมาเป็น .ShowDialog() ก็แล้ว ยกเลิกการเป็น MDI ก็ยังไม่ได้เลยครับ ติดแค่ ดึงค่ามาลง textbox จริงๆ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 19:37:00 By : Jamesillion
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : weerachai.va เมื่อวันที่ 2015-11-27 08:51:29
รายละเอียดของการตอบ ::
ไม่ได้ครับ ต้องการให้ค้นหาข้อมูลแล้วส่งค่าไปยังฟอร์มที่ถูกเรียกจากฟอร์มหลักอีกทีครับน่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 19:38:51 By : Jamesillion
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2015-11-27 09:10:23
รายละเอียดของการตอบ ::
ขอบคุณครับ ถ้าแบบปกติก็เรียกได้นะครับ แต่ปัญหาคือมันถูกเรียกจากฟอร์มลูกของฟอร์มหลักอีกที จึงเกิดปัญหาไม่แสดงข้อมูลน่ะครับ พอจะรู้สาเหตมั้ยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 19:55:21 By : Jamesillion
 


 

No. 15



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



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

ดูโค้ดทั้งสองฟอร์มหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 20:05:20 By : lamaka.tor
 


 

No. 16



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



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


ตอนนี้ได้แล้วครับพี่ๆ ใช้วิธีของคุณ บัญดิษฐ ครับ ต้องขออภัยตอนแรกผมผิดพลาดเองครับ แห่ะๆ เปลี่ยนแค่ตัวแปลนิดหน่อยครับ สำหรับคนที่เจอปัญหาเดียวกันลองปรับใช้ดูครับ อย่างน้อยก็พอถูๆ ไถๆ ไปก่อน เพราะใกล้วัน Presert โปรเจคจบแล้ว ขอบคุณพื้นที่ Thaicreate ที่ให้ทั้งประสบการณ์และข้อมูลดีๆ เสมอมาครับ

เริ่มจากประกาศจากข้างบนของฟอร์มค้นหาครับ
Code (VB.NET)
    Public MemID1 As String
    Public Title1 As String
    Public Name1 As String
    Public LName1 As String
    Public IDCard1 As String
    Public Address1 As String
    Public Phone1 As String
    Public Mail1 As String


ต่อมาก็มากำหนดค่าใน Datagridview ของฟอร์มค้นหาครับ
Code (VB.NET)
Public Sub DataGridView1_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick
        If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
            Dim selectedRow = DataGridView1.Rows(e.RowIndex)
            MemID1 = selectedRow.Cells(0).Value.ToString()
            Title1 = selectedRow.Cells(1).Value.ToString()
            Name1 = selectedRow.Cells(2).Value.ToString()
            LName1 = selectedRow.Cells(3).Value.ToString()
            IDCard1 = selectedRow.Cells(4).Value.ToString()
            Address1 = selectedRow.Cells(5).Value.ToString()
            Phone1 = selectedRow.Cells(6).Value.ToString()
            Mail1 = selectedRow.Cells(7).Value.ToString()
        End If
        Me.Close()
end sub


จากนั้นกลับไปฟอร์ม Rent ครับ แล้วกำหนดค่าให้ textbox เวลาเราเรียกข้อมูลจากฟอร์มค้นหาครับ
Code (VB.NET)
Public Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
        Dim r As SMem = New SMem()
        r.ShowDialog()
        Me.txtMemID.Text = r.MemID1
        Me.cboTitle.Text = r.Title1
        Me.txtName.Text = r.Name1
        Me.txtLName.Text = r.LName1
        Me.txtMemIDCard.Text = r.IDCard1
        Me.txtAddress.Text = r.Address1
        Me.txtPhoneNumber.Text = r.Phone1
        Me.txtEMail.Text = r.Mail1
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-27 20:41:13 By : Jamesillion
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามครับ ติดปัญหาการดึงข้อมูลมาโชว์ใน Datagridview ที่เป็นลูกของฟอร์มหลัก [Vb.net+MySQL]
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่