VB.NET สร้างแบบฟอร์มที่เชื่อมโยง (เช่น MS ACCESS)

NET (พื้นฐาน) ฉันมี DGV1 ใน form1 ที่แสดงชื่อลูกค้า (ชุดข้อมูลจากฐานข้อมูล SQL) ฉันต้องการคลิกสองครั้งที่ชื่อลูกค้า "a" ใน DGV1, form1 แล้วดู "รายละเอียดลูกค้า" ใน DGV2, form2

ฉันสามารถทำได้ในรูปแบบเดียว DGV1 และ DGV2 ง่าย ๆ เมื่อเลือกชื่อลูกค้าใน DGV ด้านบน จากนั้น DGV ด้านล่างจะอัปเดตตามนั้น ฉันต้องการสิ่งนี้ในสองรูปแบบตามที่อธิบายข้างต้น

ขอบคุณมิเชล


person Michelle VonLind    schedule 11.11.2016    source แหล่งที่มา
comment
คุณกำลังถามถึงวิธีการเปิดแบบฟอร์มใหม่เมื่อคุณคลิกเส้นบนตารางหรือไม่?   -  person Steve    schedule 11.11.2016
comment
สวัสดีสตีฟ ไม่ ฉันสามารถเปิดแบบฟอร์มใหม่จาก DGV คลิก.. ถ้าฉันคลิกที่บรรทัดในตารางเช่น ชื่อลูกค้า John แล้วผมอยากให้ form2 ต้องเปิดและแสดงรายละเอียดของ JOHN ใน DGV2 เช่น อายุ เพศ โทรศัพท์.. ผมเลยทำ DGV ได้ แต่ปัจจุบันแสดงรายละเอียดลูกค้าทั้งหมดแล้ว.. เพราะผมเลือก JOHN ใน form1 ผมเพียงแต่ ต้องการดูรายละเอียด John ใน form2..   -  person Michelle VonLind    schedule 11.11.2016
comment
แบบฟอร์มที่สองของคุณควรได้รับรายละเอียดของสายลูกค้าที่คลิก คุณจะทำเช่นนี้ได้อย่างไรขึ้นอยู่กับว่าคุณเริ่มต้นกริดแรกของคุณอย่างไร (คุณใช้รายชื่อลูกค้าหรือคุณเพิ่งผูกกริดกับ DataTable (และในกรณีนี้คุณได้ดึงข้อมูลคีย์หลักของตารางนั้น)   -  person Steve    schedule 11.11.2016
comment
สตีฟ ฉันใช้ VB.NET 2012 ฉันสร้าง CustomerDataset และวาง datagridview ลงในแบบฟอร์ม จากนั้นจะสร้าง tableAdapter,bindingsource โดยอัตโนมัติ ตอนนี้ฉันวางรายละเอียดลูกค้าไว้ในแบบฟอร์มและสร้าง tableAdapter ซึ่งเป็นแหล่งรวมข้อมูล (ทั้งหมดนี้อยู่ในแบบฟอร์มเดียว) ถ้าฉันคลิกชื่อลูกค้าใน DGV1 แล้ว DGV2 จะแสดงรายละเอียดสำหรับลูกค้ารายนั้น ทั้งหมดนี้ทำงานได้ดี แต่ตอนนี้......... อยากย้าย DGV2 ไป form2 จากนั้นหากดับเบิลคลิกชื่อลูกค้าใน DGV1, form1 ....แล้ว form2 จะต้องเปิดและแสดงรายละเอียดสำหรับลูกค้ารายนั้น..   -  person Michelle VonLind    schedule 11.11.2016


คำตอบ (1)


ลองอันนี้สิ ฉันคิดว่านี่คืออันที่คุณกำลังมองหา

'This code below will hold the Value from your table 
Dim CustomerName as String
'This code below will hold the value of the selected row in DGV1
Dim SelectedName As Integer
SelectedName = DataGridView1.CurrentRow.Index

นี่คือสิ่งที่คุณทำ สมมติว่าชื่อลูกค้าอยู่ในคอลัมน์ 1 ตอนนี้เราจะได้ค่าดังกล่าวเช่นนี้

CustomerName = DataGridView.Item(1, i).Value

ดังนั้นจะเกิดอะไรขึ้นทุกครั้งที่คุณเลือกข้อมูลในคอลัมน์ 1 ค่าของแถวที่เลือกนั้นจะไปที่ CustomerName

สิ่งต่อไปที่คุณจะทำคือสร้าง Form2 เพิ่ม Datagridview และเรียกใช้อันนี้ในโค้ดของคุณ

Form2.Show
'Create your own way of display data in datagridview but this time your where clause is like this (where ColumName = '" & CustomerName  & "')

ความนับถือ

person Shadow Fiend    schedule 11.11.2016
comment
สวัสดีพอล ขอบคุณมากสำหรับการตอบกลับ ฉันเข้าใจส่วนแรก - คือการกำหนดว่าค่าใดคือคลิก.. เพื่อให้ได้ค่า ดังนั้นตอนนี้ค่านี้จะต้องส่งไปยัง form2 ขออภัย ฉันไม่เก่งภาษาอังกฤษ และมีความรู้เกี่ยวกับการเขียนโปรแกรมไม่มาก... - person Michelle VonLind; 11.11.2016
comment
แล้วใน form2.... ค่านี้ต้องใช้กับฟังก์ชัน filter บางตัวหรือเปล่า? ฉันไม่เข้าใจ form2 วิธีการกรองตอนนี้เท่านั้น .. สมมติว่าฉันคัดลอก CustomerID ใน form1 .. ตอนนี้ฉันต้องการกรองสิ่งนั้นใน form2 พูดว่า customerID 5 ตอนนี้ฉันต้องกรอง form2 DGV2 เป็น 5 ดังนั้น... ฉันไม่เข้าใจส่วน form2 - person Michelle VonLind; 11.11.2016