Add,edit,delete data item in the DataGridView


บทความ เพิ่ม/แก้ไข/ลบ ข้อมูลใน DataGridView เพื่อเป็นตัวอย่างให้กระทู้นี้…

สอบถามเรื่องการ เพิ่ม/แก้ไข/ลบ ข้อมูลใน DataGridView หน่อยครับ
http://greatfriends.biz?133912

 

1. สร้างโปรเจ็กต์ WinApp.
2. ออกแบบหน้าจอโปรแกรมดังรูป

image

2. เพิ่ม คอลัมน์ให้ DataGridView

image

3. เพิ่มคอลัมน์ประเภทปุ่ม เพื่อทำเป็นปุ่มยกเลิก…

image

4. Edit Column … เพื่อเข้าไปปรับพรอเพอร์ตี้…

image

5.แสดงป้ายข้อความบนปุ่ม…

image

6. กำหนดความกว้าง…ระบุ AutoSizeMode = DisplayedCells มันจะกว้างตาม ป้ายข้อความบนปุ่ม

image

7. เขียนโค้ดโปรแกรม

Coding…

 1: using System;
 2: using System.Collections.Generic;
 3: using System.ComponentModel;
 4: using System.Data;
 5: using System.Drawing;
 6: using System.Linq;
 7: using System.Text;
 8: using System.Windows.Forms;
 9:  
 10: namespace Win_DataGridView
 11: {
 12:     public partial class Form1 : Form
 13:     {
 14:         //ประกาศตัวแปร List ของอ็อบเจ็กต์ Employee ชื่อ lsEmp และกำหนดค่าเริ่มต้น = null
 15:         List<Employee> lsEmp = null;
 16:         public Form1()
 17:         {
 18:             InitializeComponent();
 19:         }
 20:  
 21:         private void Form1_Load(object sender, EventArgs e)
 22:         {
 23:             //สร้าง List อ็อบเจ็กต์ Employee 
 24:             lsEmp = new List<Employee>();
 25:  
 26:             //เรียกเมธอดผูกข้อมูลของ dataGridView1
 27:             DataBinding();
 28:         }
 29:  
 30:         private void DataBinding()
 31:         {
 32:             //ผูกข้อมูล List อ็อบเจ็กต์ Employee ให้ dataGridView1
 33:             dataGridView1.DataSource = lsEmp.ToList();
 34:         }
 35:  
 36:         private void btSelect_Click(object sender, EventArgs e)
 37:         {
 38:             //เพิ่ม Item Employee ใน List
 39:             //โดยนำข้อมูลจาก TextBox
 40:             lsEmp.Add(new Employee
 41:             {
 42:                 firstName = this.txtFName.Text,
 43:                 lastName = this.txtLName.Text
 44:             });
 45:  
 46:             //ล้างค่าบน TestBox
 47:             ClearText();
 48:  
 49:             //set focus บน Text FirstName
 50:             this.txtFName.Focus();
 51:  
 52:             ////เรียกเมธอดผูกข้อมูลของ dataGridView1
 53:             DataBinding();
 54:         }
 55:  
 56:         private void ClearText()
 57:         {
 58:             //กำหนดพรอเพอร์ตี้เท่ากับค่าว่าง
 59:             this.txtFName.Text = string.Empty;
 60:             this.txtLName.Text = string.Empty;
 61:         }
 62:  
 63:         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
 64:         {
 65:             if (e.RowIndex != -1)//ถ้าคลิกบนแถวข้อมูล
 66:             {
 67:                 if (e.ColumnIndex == 0)//ถ้าเป็นการคลิกบนคอลัมน์แรก ซึ่งเป็นปุ่มยกเลิกข้อมูล
 68:                 {
 69:                     //ถามคำยืนยัน การยกเลิกข้อมูล
 70:                     if (MessageBox.Show("คุณต้องการยกเลิกข้อมูลใช่หรือไม่?...", "คำยืนยัน...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
 71:                     {
 72:                         //ดึงข้อมูลใน List Employee ตามแถวที่คลิก
 73:                         var q = lsEmp
 74:                             .Where(t => t.firstName == dataGridView1["firstName", e.RowIndex].Value.ToString())
 75:                             .FirstOrDefault();
 76:  
 77:                         if (q != null)//ถ้ามีข้อมุล
 78:                         {
 79:                             //ส่งไปแสดงบน TextBox ก่อนเผื่อผู้ใช้งานต้อวการแก้ไข
 80:                             this.txtFName.Text = dataGridView1["firstName", e.RowIndex].Value.ToString();
 81:                             this.txtLName.Text = dataGridView1["lastName", e.RowIndex].Value.ToString(); 
 82:                             
 83:                             //แล้วลบ item Employee ที่คลิกออกจาก List Employee
 84:                             lsEmp.Remove(q);
 85:  
 86:                             //เรียกเมธอดผูกข้อมูลของ dataGridView1 อีกครั้ง...
 87:                             DataBinding();
 88:                         }
 89:  
 90:                     }
 91:                 }
 92:             }
 93:         }
 94:     }
 95:  
 96:     //class Employee
 97:     public class Employee
 98:     {
 99:         public string firstName { get; set; }
 100:         public string lastName { get; set; }
 101:     }
 102: }

 

 

–:จบบริบูรณ์:–

แหล่งข้อมูลดาวน์โหลด:
https://skydrive.live.com/embed?cid=7D608959D854CB28&resid=7D608959D854CB28%214705&authkey=ACTd2AhjB-fSsdI

ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: https://janawat.wordpress.com
Nuchit’s Profile @microsoft
https://mvp.support.microsoft.com/profile/nuchit
Facebook:
https://www.facebook.com/nuchit
Twitter:
http://twitter.com/janawat

เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน Windows Application

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: