១១
មករា

វិធីសាស្រ្ត​បញ្ចូល Multiple Columns ទៅកាន់ Combobox ភាសា C#

ប្រិយមិត្តអ្នកអានជា​ពិសេស​លោកអ្នក​និស្សិត​ផ្នែក​ព័ត៌មាន​វិទ្យាភាគ​ច្រើន​ធ្លាប់​បាន​ស្គាល់​និងបាន​ប្រើ​ប្រាស់ Combobox Tool ​ដែល​ជា Tool មួយ​ក្នុង​ចំណោម Tools ជា​ច្រើន​របស់​កម្មវិធី Visual Studio

តើអ្វីជា Combobox? យើងអាចនិយាយបានថា Combobox ជា tool មួយ​ដែល​អនុញ្ញាត​ឲ្យ Developer ​ធ្វើការ​សរសេរ​Code​បញ្ចូល​ទិន្នន័យ​ទៅ​ក្នុង​Combobox ​ដែល​មានរូបរាង ឬ​ក៏ ទ្រង់ទ្រាយជា​លក្ខណៈ មួយColumn ពីរ បី រឺ​ច្រើន​ Columns តាម​តម្រូវ​ការ​របស់អ្នក​ប្រើ​ប្រាស់ ឬ​ក៏​តាម​ការងារ​ជាក់ស្តែង ដើម្បី​ងាយស្រួល​ដល់ការ​ប្រើ​ប្រាស់​របស់ User

តើធ្វើដូចម្តេច ដើម្បី​បញ្ចូល multiple column ​ទៅកាន់ Combobox?

យើងនឹងលើកយកពី​កម្មវិធី​ប្រើ​ប្រាស់ .Net ​ដូចជា C# ដោយ​ធ្វើការ​បញ្ចូល​ ៣ columns នៅ​ក្នុង​ Combobox យកមក​បង្ហាញ ។

សូមអនុវត្តន៍ តាមជំហានដូច​ខាងក្រោម​៖

​បង្កើត UI (Form និង Control)

​សរសេរ​កូដលើ Event Load

​សរសេរ​កូដលើ Event DrawItem 

១. ​បង្កើត UI (Form នឹង Control)

 សូម​បង្កើត Form ​ដែល​មាន​លក្ខណៈ​ដូច​ខាងក្រោម​៖

- ដាក់​ឈ្មោះ Combobox : cbo

កូដ៖

២.  ​សរសេរ​កូដលើ Event Load 

​ប្រើ​ DataTable ​បង្កើត object “table” add 3 ធាតុជា​ប្រភេទ​ string ចូល​ក្នុង Column   

Add ​ទិន្នន័យ​ចូល ក្នុង Row នៃ object DataTable ​ឈ្មោះ table  

​ប្រើ​សម្រាប់​ binding ​ទិន្នន័យ​ពី object នៃ DataTable ដាក់ចូល​ក្នុង ComboBox ​ឈ្មោះ cbo

​កំណត់ ComboBox ​ឲ្យ​បង្ហាញ​ទិន្នន័យ​ពី object នៃ DataTable ​ឈ្មោះ Column “Cource” ដោយ​ប្រើ DisplayMember Property

​កំណត់ ComboBox ​ឲ្យ​ចាប់យក Value ពី object នៃ DataTable ​ឈ្មោះ Column “ID” ដោយ​ប្រើ ValueMember Property 

​កំណត់​ ComboBox អាច Drawing lines, Columns,... នៅ​ក្នុង Combobox បាន ។

៣. សរសេរ​កូដលើ Event DrawItem

​បង្កើត Event Draw Item

Select លើ Control Combobox → Events Icon → DrawItem Property :

​បន្ទាប់មក ចុច Enter បន្ទាប់​វានឹង​ទៅ​បង្កើត Function មួយ​សម្រាប់​សរសេរ Event

ចូរ​សរសេរ​កូដដាក់ដូច​ខាងក្រោម​៖

​ដំណើរ​ការ​កូដ៖

​មានន័យថា draw the default background

​ប្រើ DataRowView ​បង្កើត object ​ឈ្មោះ​ drv ​ដែល​ចាប់យកជួរដេក និង ជួរឈរ​ទាំងអស់​ចេញពី combobox ។ ហេតុអ្វីបានការចាប់យក​ទិន្នន័យ​មាន​លក្ខណៈ​ជាជួរដេកនិងជួរឈរ? គីដោយ សារ Combobox is bound to a DataTable (table)

​បង្កើត 3 អញ្ញាត មាន​ប្រភេទ​ទិន្នន័យ​ជា String ចាប់យក​ទិន្នន័យ​ពី Column (ID,Cource,Price)

​ក្នុង​ចំណុច​នេះ​បង្កើត​ឡើង​ក្នុង​គោល​បំណង get the bounds for the first columns  r1 ជា variable ​ដែល​មាន​ប្រភេទ​ទិន្នន័យ​ជា RectangleRectangle stores a set of four integers that represent the location and size of a rectangle A set of four integers of r1 is {x,y,width,height} Rectangle វាជា member របស់ System.Drawing ។ ហើយចំពោះ Code (e.Bounds) គឺចាប់យកទីតាំងនិង​ទំហំ {X,Y,With,Height} របស់ Combobox ។  

​ក្នុង​ចំណុច​នេះ​បង្កើត​ឡើង​ក្នុង​គោល​បំណង draw the text on the first columnssb ជា variable ​ដែល​មាន​ប្រភេទ​ទិន្នន័យ​ជា SolidBrush SolidBrush: Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. ត្រង់ Code ( e.Graphics.DrawString ( id, e.Font, sb, r1) ) ​មានន័យថា draw text នៃ Column  idSolidBrush វាជា member របស់ System.Drawing

​ក្នុង​ចំណុច​នេះ​បង្កើត​ឡើង​ក្នុង​គោល​បំណង ដើម្បី​គូរ line នៅ​ក្នុង Combobox p គឺជា object មួយ​ដែល instance ពី Pen Class ​ដែល​ប្រើ​សម្រាប់​គូរ Lines and Curves ។ ត្រង់ Code (e.Graphics.DrasLine (p, r1.Right, 0, r1.Right, r1.Bottom) ) ​មានន័យថា draw line នៅ​ក្នុង Combobox

ត្រង់​ចំណុច គឺ ស្រដៀង នឹង​ចំណុច​ដែល​បានពន្យល់​ខាងលើ​ដែរ ។

​លទ្ធផល​៖

♣♣ ដកស្រង់ចេញពី​ទស្សនាវដ្ដី​អាន-ANT ច្បាប់​ទី ៥៤ ប្រចាំខែតុលា ឆ្នាំ ២០១៤

♣♣♣ រៀបរៀងអត្ថបទដោយ លោក ស៊ីម សុវណ្ណដេត និងកែ​សម្រួល​អត្ថបទចុះផ្សាយឡើងវិញនៅខែធ្នូ ឆ្នាំ ២០១៦ ដោយលោក ផុន គុណថៃ

♣♣♣ ​​វគ្គ​សិក្សា C# Beginining តម្លៃ ៧០ដុល្លា ចុចទីនេះ ដើម្បី​មើល Course Outline http://training.antkh.com/csharp_for_beginner.aspx

SmileSmileSmile ​សម្រាប់​វគ្គ​បើកថ្មីៗ​ជា​រៀងរាល់​សប្តាហ៍សូមចូល​ទៅកាន់​ www.antkh.com

SmileSmile ​កម្មវិធី Android ថ្មីៗ​របស់អាន-ANT ដែល​ចេញ​ក្នុង​ឆ្នាំ ២០១៦ http://antkh.com/tech/2315

SmileSmile ​សម្រាប់​កម្មវិធី​អានផេឌៀ ដំណើរ​ការ​លើ Windows (ចាប់ពី Windows 8 ឡើងទៅ) ប្រើ​ប្រាស់ Code C#

អាច Download ដោយឥតគិតថ្លៃ  https://mfi.re/file/jlpuucxsaafytqh/ANTPediaSetup.rar 

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា