Advertisement

ตัวอย่างนี้เป็นตัวอย่างในการเอาข้อมูลจาก DataGridView มาแสดงใน  TextBox  ในการทำงานนั้นเราจะใช้ Event : CellMouseUp  ของ DataGridView

จากตัวอย่างผมจะออกแบบหน้าต่างดังนี้

TextBox ตัวแรก  จะให้แสดง ข้อมูลจาก  Cell  Username  โดยตั้งชื่อว่า txtUsername

TextBox ตัวที่สอง จะให้แสดง ข้อมูลจาก Cell Password  โดยตั้งชื่อว่า txtPassword

dataGridview  จะตั้งชื่อว่า gvShow

จากนั้นให้ทำการกำหนด Event ให้กับ dataGridView  ในตัวอย่างนี้ผมใช้ชื่อว่า gvShow 

 

คลิ๊กที่ dataGridView  แล้วดูตรง Properties  จากนั้นกด รูปฟ้าผ่า  เลื่อนหาคำว่า  CellMouseUp

เมื่อเห็น CellMouseUp  แล้วให้คลิกช่องข้าง ๆ CellMouseUp  แล้วกด Enter 

 

เมื่อทำการกด Enter  แล้ว  จะได้ดังภาพด้านล่าง  แล้วก็เขียนโค้ดลงในส่วนนี้

Advertisement

วิธีการดึงค่าออกมา

(ชื่อของ dataGridView).Rows[row index].Cells[cell index].Value.ToString();

เมื่อเรานำมาใช้งานจะได้ดังนี้


private void gvShow_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
    txtUsername.Text = gvShow.Rows[e.RowIndex].Cells["Username"].Value.ToString();
    txtPassword.Text = gvShow.Rows[e.RowIndex].Cells["Password"].Value.ToString();
}

เพียงเท่านี้เราก็จะสามารถเลือกข้อมูลจาก Data Gridview ไปแสดงบน TextBox ได้แล้ว

ตัวอย่างโค้ดในหน้านี้


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ReadValueInDataGridView
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //เรียกใช้ fucntion
            initGridview();
        }

        /*
         * เหตุการณ์เมื่อคลิกเลือกข้อมูลใน dataGridView
         */
        private void gvShow_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
        {
            txtUsername.Text = gvShow.Rows[e.RowIndex].Cells["Username"].Value.ToString();
            txtPassword.Text = gvShow.Rows[e.RowIndex].Cells["Password"].Value.ToString();
        }

        /*
         * function เพื่อแสดงข้อมูลใน dataGridView
         */
        private void initGridview()
        {
            string[] username = { "administrator", "dekdev" };
            string[] password = { "123456", "98765" };
            DataTable dt = new DataTable();
            dt.Columns.Add("Username");
            dt.Columns.Add("Password");
            for (int i = 0; i < username.Count(); i++)
            {
                dt.Rows.Add();
                dt.Rows[i]["Username"] = username[i].ToString();
                dt.Rows[i]["Password"] = password[i].ToString();
            }
            gvShow.DataSource = dt;
        }  
    }
}

 

Advertisement