ส่งข้อมูลข้ามฟอร์ม Select DataGridView to TextBox


 

สิ่งที่จำเป็น

  • Microsoft Studio.NET 2008
  • SQL Server Studio Express 2005

มีเพื่อนๆ ถามว่าถ้าต้องการเลือกข้อมูลบน DataGridView แล้วไปแสดงบน TextBox ของอีกฟอร์ม ทำยังไง?

จึงทำเป็นตัวอย่างเล็กๆ เพื่อเป็นแนวทาง ดังนี้ครับ ยกตัวอย่างว่าเราต้องการหาข้อมูลรายการสินค้า(Product) ตามประเภทสินค้า (Category) ดังรูป

 

1

 

 

Code:


        private void btFind_Click(object sender, EventArgs e)
        {
            frmFind f = new frmFind();
            f.StartPosition = FormStartPosition.CenterScreen;
            f.CategoryName = txtCategoryName.Text.Trim();//เก็บข้อมูลที่ป้อนใส่ Properties CategoryName 

            if (f.ShowDialog() == DialogResult.OK) //เมื่อเลือกข้อมูลเสร็จแล้ว DialogResult=OK   
            {
                txtCategoryName.Text = f.CategoryName; //ถ่ายค่า CategoryName กลับไปที่ TestBox
                txtDescription.Text = f.CatDescription; //ถ่ายค่า CatDescription กลับไปที่ TestBox

                using (DataClasses1DataContext dc = new DataClasses1DataContext())
                {
                    //ดึงข้อมูล Product ตาม CategoryName
                    var prod = dc.Products.Where(t => t.Category.CategoryName.Contains(f.CategoryName.Trim())).Select(
                        (o) => new
                        {
                            o.ProductID,
                            o.ProductName,
                            o.UnitPrice,
                            o.UnitsInStock,
                            o.UnitsOnOrder
                        });
                    dataGridView1.DataSource = prod.ToList();//ผูกข้อมใส่ลง dataGridView1
                }
            }
        }

เมื่อคลิกเมาส์ลงบนรายการ Category

2

Code:


        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)//ถ้าเป็นการคลิกเมาส์ลงบน แถวข้อมูล
            {
                categoryName = dataGridView1["CategoryName", e.RowIndex].Value.ToString(); //เก็บค่า CategoryName ใส่ Properties categoryName
                catDescription = dataGridView1["Description", e.RowIndex].Value.ToString(); //เก็บค่า Description ใส่ Properties catDescription
                DialogResult = DialogResult.OK;//ส่ง DialogResult เป็น OK กลับไปที่ฟอร์มหลัก
            }
        }

ก็จะได้ข้อมูลสินค้าดังรูป

3

 

แหล่งข้อมูลดาวน์โหลด
http://cid-7d608959d854cb28.skydrive.live.com/embedrowdetail.aspx/SourcesCode/select|_DataGridView2TextBox.zip

แหล่งข้อมูลอ้างอิง:

ผู้เขียน
Columnist

Advertisements
เกี่ยวกับ

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
3 comments on “ส่งข้อมูลข้ามฟอร์ม Select DataGridView to TextBox
  1. OFsex Change พูดว่า:

    f.StartPosition = FormStartPosition.CenterScreen; อธิบายบันทัดนี้หน่อยครับ มายังไงและหมายความว่าอย่าไรครับ

    • janawat พูดว่า:

      f.StartPoition = เป็นพรอปเพอร์ตี้ กำหนดให้ฟอร์ม แสดงบนหน้าจอ เช่น
      = FormStartPosition.CenterScreen= ให้มันแสดงตรงกลางจอ

  2. OFsex Change พูดว่า:

    ในหน้า Category detail แบบ ส่งค่ากลับไป หลัก โดยที่ ไม่ต้องปิด หน้า Category detail

    โคดตรงช่วงนี้ ควรปรับแก้ยังไงครับเพื่อให้ มันส่งค่ากลับแบบไม่ต้องปิดหน้าตัวเองลง DialogResult = DialogResult.OK;

ใส่ความเห็น

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: