GrideViewDeleteRow


 

image

 

image

image

image

image

image

image

 

โค้ด:…

   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4: using System.Web;

   5: using System.Web.UI;

   6: using System.Web.UI.WebControls;

   7:  

   8: namespace WebApplication_GrideViewDeleteRow

   9: {

  10:     public partial class _Default : System.Web.UI.Page

  11:     {

  12:         //ชุดอ็อบเจ็กต์ของ Customer

  13:         List<Customer> lscus = null;

  14:         

  15:         protected void Page_Load(object sender, EventArgs e)

  16:         {

  17:         }

  18:  

  19:         protected void btLoadCustomer_Click(object sender, EventArgs e)

  20:         {

  21:             //สร้างอ็อบเจ็กต์ Customer

  22:             var cust = new Customer();

  23:  

  24:             //เรียกเมธอด loadCustomer() ซึ่งเป็นเมธอดจำลองข้อมูลตัวอย่าง

  25:             //นำไปเก็บไว้ที่ตัวแปรชุดอ็อบเจ็กต์ของ Customer

  26:             lscus = cust.loadCustomer();

  27:  

  28:             //พร้อมกับเก็บไว้ในอ็อบเจ็กต์ Session["cust"] ด้วย

  29:             Session["cust"] = cust.loadCustomer();

  30:  

  31:             //และผูกใส่ GridView1

  32:             this.GridView1.DataSource = lscus;

  33:             this.GridView1.DataBind();

  34:  

  35:         }

  36:  

  37:         protected void btAdd_Click(object sender, EventArgs e)

  38:         {

  39:             setCustomerList();

  40:             //เพิ่มอ็อบเจ็กต์ Customer ใหม่

  41:             //โดยกำหนดค่าจาก TextBox

  42:             

  43:             lscus.Add(new Customer

  44:             {

  45:                 CustomerID = int.Parse(TextBox1.Text),

  46:                 CustomerName = TextBox2.Text,

  47:                 CustomerAddree = TextBox3.Text,

  48:                 CustomerPhone = TextBox4.Text

  49:  

  50:             });

  51:  

  52:             this.GridView1.DataSource = lscus.ToList();

  53:             this.GridView1.DataBind();

  54:         }

  55:  

  56:       

  57:        

  58:         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

  59:         {

  60:             //เมธอดกำหนดชุดอ็อบเจ็กต์ของ Customerไว้ที่ อ็อบเจ็กต์ Session["cust"]

  61:             setCustomerList();

  62:  

  63:             //เก็บ CustomerID ของแถวที่คลิก ยกเลิก

  64:             var id = this.GridView1.Rows[e.RowIndex].Cells[1].Text;

  65:  

  66:             //ดึงอ็อบเจ็กต์ Customer ที่ต้องการลบออกมา

  67:             //ด้วยภาษา LINQ

  68:             var q = lscus

  69:                 .Where(t => t.CustomerID == Convert.ToInt32(id))//Lamda expression

  70:                 .FirstOrDefault();

  71:  

  72:             if (q != null)

  73:             {

  74:                 //ก่อนลบอ็อบเจ็กต์ Customer

  75:                 //ใส่ค่าไว้ที่ TextBox ไว้ก่อน เผื่อว่าผู้ใช้งานต้องการตรวจสอบ แก้ไขอีกครั้ง

  76:                 TextBox1.Text = q.CustomerID.ToString();

  77:                 TextBox2.Text = q.CustomerName;

  78:                 TextBox3.Text = q.CustomerAddree;

  79:                 TextBox4.Text = q.CustomerPhone;

  80:  

  81:                 //ลบมันออกจากชุดอ็อบเจ็กต์ของ Customer 

  82:                 lscus.Remove(q);

  83:  

  84:                 //Binding ข้อมูลให้ GridView1 ใหม่

  85:                 this.GridView1.DataSource = lscus.ToList();

  86:                 this.GridView1.DataBind();

  87:             }

  88:         }

  89:  

  90:         private void setCustomerList()

  91:         {

  92:             //เก็บค่าตัวแปรชุดอ็อบเจ็กต์ของ Customerไว้ที่ อ็อบเจ็กต์ Session["cust"] 

  93:  

  94:             //ถ้าอ็อบเจ็กต์ Session["cust"] มีข้อมูลแล้ว

  95:             if (Session["cust"] != null)

  96:                 //เอาในอ็อบเจ็กต์ Session["cust"] กำหนดให้ ตัวแปรชุดอ็อบเจ็กต์ของ Customer

  97:                 lscus = Session["cust"] as List<Customer>;

  98:  

  99:             else //ถ้าอ็อบเจ็กต์ Session["cust"] ยังไม่ข้อมูล

 100:             {

 101:                 //สร้างตัวแปรชุดอ็อบเจ็กต์ของ Customer ใหม่

 102:                 lscus = new List<Customer>();

 103:  

 104:                 //แล้วใส่ชุดอ็อบเจ็กต์ของ Customer ใหม่ไว้กับ อ็อบเจ็กต์ Session["cust"] 

 105:                 Session["cust"] = lscus;

 106:             }

 107:         }

 108:     }

 109: }

 

แหล่งข้อมูลดาวน์โหลด:…

https://dl.dropbox.com/s/41enhxq3dr4mtg3/2011-08-01_WebApplication_GrideViewDeleteRow.zip?dl=1

เกี่ยวกับ

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

เขียนใน Web Application
3 comments on “GrideViewDeleteRow
  1. pungkoong พูดว่า:

    ถ้าต้องการดึงข้อมูลจาก data grid view ไปไว้ใน textbox ละครับทำไง

  2. janawat พูดว่า:

    ดูในอีเว้น GridView1_RowDeleting…
    ในบรรทัดที่ 58…ถึง บรรทัดที่ 88 ครับ…

  3. เบนซ์ พูดว่า:

    textbox1.text = Gridview1.rows(0).cells(0).text
    rows(0)= แถว
    cells(0) คือ คอคั่ม
    เช่นถ้าต้องการเอาข้อมูลใน gridview แถวที่หนึงไปใส่ใน textbox1.text
    for i as integer =0 to gridview.cells.count-1
    textbox1.text = gridview1.rows(0).cells(i).text &
    next

ใส่ความเห็น

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: