ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 656|ตอบกลับ: 0

[VB.NET] การใช้งาน MultiColumnComboBox Control ด้วยของฟรีจาก Syncfusion Community

[คัดลอกลิงก์]

252

กระทู้

367

โพสต์

3066

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
3066




ก็ตามหัวข้อเลยครับ คือเป็น ComboBox แบบหลายหลัก หรือ Multi-Column ซึ่งเสมือนหนึ่งว่าเป็นการดึงตารางข้อมูลมาแสดงผลในตัว MultiColumnComboBox โดยตัวอย่างนี้จะใช้ข้อมูลสมมุติจาก DataTable แล้วให้มันมองเป็น DataView ...

ดาวน์โหลดฟรีชุดติดตั้ง Syncfusion Community (ต้องสมัครสมาชิกเขาก่อนด้วยล่ะครับ) ...

ไฟล์ DLL ที่เป็นพื้นฐานในการใช้งานทั่วไปของ Syncfusion Community รุ่นฟรี ... หากเวอร์ชั่นที่สูงกว่ารุ่นของแอดมิน ต้อง Add Reference เข้ามาใหม่ด้วยครับ  


มาดูโค้ดต้นฉบับแบบเต็ม ...
  1. Imports Syncfusion.Windows.Forms.Tools

  2. Public Class frmCBMulticol

  3.     Private Sub frmCBMulticol_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  4.         Call ComboBoxDataBinding()
  5.     End Sub

  6.     Sub ComboBoxDataBinding()
  7.         '// Setup MultiColumnComboBox
  8.         With MultiColumnComboBox1
  9.             .MultiColumn = True
  10.             .ShowColumnHeader = True
  11.             .AlphaBlendSelectionColor = Color.LightBlue
  12.             .DropDownWidth = 620
  13.             .DropDownStyle = ComboBoxStyle.DropDownList
  14.             .Style = Syncfusion.Windows.Forms.VisualStyle.Office2007
  15.             .Office2007ColorTheme = Syncfusion.Windows.Forms.Office2007Theme.Black
  16.         End With
  17.         '//
  18.         Dim dt As New Data.DataTable
  19.         ' / เพิ่มหลัก (Columns) หรือฟิลด์ จำนวน 6 หลัก
  20.         With dt
  21.             .Columns.Add("EmployeePK", GetType(Integer))    '<-- Index = 0
  22.             .Columns.Add("EmployeeID", GetType(String))     '<-- Index = 1
  23.             .Columns.Add("EmployeeName", GetType(String))   '<-- Index = 2
  24.             .Columns.Add("Position", GetType(String))           '<-- Index = 3
  25.             .Columns.Add("Department", GetType(String))     '<-- Index = 4
  26.             .Columns.Add("HireDate", GetType(Date))             '<-- Index = 5
  27.         End With
  28.         ' / เพิ่มรายการข้อมูล (Record) เรียงตามลำดับฟิลด์
  29.         With dt
  30.             .Rows.Add("1", "EMP00001", "นายทองก้อน ทับทิมกรอบ", "Managing Director", "Management", "01/01/2555")
  31.             .Rows.Add("2", "EMP00002", "นายบุญห่อ พ่อรวย", "ช่างซ่อมบำรุง", "Technical", "01/06/2555")
  32.             .Rows.Add("3", "EMP00003", "นางสาวกุ๊กกิ๊ก น่ารักที่สุด", "เลขา", "Management", "25/02/2555")
  33.             .Rows.Add("4", "EMP00004", "นางบัวผัน ฝันเฟื่อง", "หัวหน้าบัญชี", "บัญชี", "11/11/2555")
  34.             .Rows.Add("5", "EMP00005", "หนูมาลี มีลูกแมวเหมียว", "ธุรการ", "ธุรการ", "13/04/2555")
  35.         End With
  36.         Dim view As DataView = New DataView(dt)
  37.         ' DATASOURCE is DATAVIEW
  38.         With MultiColumnComboBox1
  39.             .DataSource = view
  40.             .DisplayMember = "EmployeeName"
  41.             .ValueMember = "EmployeePK"
  42.         End With
  43.     End Sub

  44.     Private Sub MultiColumnComboBox1_SelectedValueChanged(sender As Object, e As System.EventArgs) Handles MultiColumnComboBox1.SelectedValueChanged
  45.         Dim c As ComboBoxBaseDataBound = CType(MultiColumnComboBox1, ComboBoxBaseDataBound)
  46.         If Not (c.SelectedIndex = -1) Then
  47.             Dim drv As DataRowView = CType(c.Items(c.SelectedIndex), DataRowView)
  48.             '// อ่านค่า EmployeePK หากต้องการใช้ EmployeeID ก็เปลี่ยน 0 ให้เป็น 1 คือเรียงตาม Index ของ Column ใน DataTable
  49.             c.Text = drv.Item(0).ToString()
  50.         End If
  51.     End Sub
  52. End Class
คัดลอกไปที่คลิปบอร์ด



ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่ ...




ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

3

กระทู้

12

โพสต์

53

เครดิต

Member

Rank: 2

เครดิต
53
โพสต์ 2020-6-9 09:46:22 | ดูโพสต์ทั้งหมด

แก้ไขครั้งสุดท้ายโดย komenservice เมื่อ 2020-6-9 10:56

ขอบพระคุณครับ อาจารย์

แต่ผม โหลดมาเป็น Ver 18 ครับ รุ่นทดลองใช้ 30 วันครับ

ทดสอบแล้ว ใช้งานได้ครับ แต่ใช้ได้ 30 วันครับ

0

กระทู้

18

โพสต์

268

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
268
โพสต์ 2020-7-23 23:29:21 | ดูโพสต์ทั้งหมด

ขอบพระคุณครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2020-9-21 10:20 , Processed in 0.309074 second(s), 4 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้