Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > รบกวนถามเรื่อง การดึงค่าจาก DataGridView มาโชวใน TextBox เมื่อ คลิกที่แถวใดๆขณะที่รันโปรแกรมอยู่ครับ



 

รบกวนถามเรื่อง การดึงค่าจาก DataGridView มาโชวใน TextBox เมื่อ คลิกที่แถวใดๆขณะที่รันโปรแกรมอยู่ครับ

 



Topic : 084361



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนด้วยนะครับ ผมเพิ่งหัดเขียนโปรแกรมน่ะครับ
คือติดปัญหาจาก การดึงค่าจาก dataGridView มาโชวใน textBox เมื่อ คลิกที่แถวใดๆใน dataGridView
ขณะที่รันโปรแกรมอยู่ครับ

ภาษา c# น่ะครับ
dataGridView ผมเชื่อมกับ Database Mysql น่ะครับ

Form

ในรูปผมอยากให้เมื่อคลิกที่แถวใดๆ แล้วรหัสผู้ยืมจะไปโชวใน textBox ครับ



เอาโค้ดมาให้ช่วยดูนะครับ อันนี้ผมทำใน Form5 ซึ่งจะเรียกไปใส่ใน panel ในฟอร์ม 1 อีกครั้ง ตามรูปครับ

Form5

อันนี้โค้ตของ Form5 ครับ จะต้องเติมอันไหนบ้างครับ

Code (C#)
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;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;

namespace Test1
{
    public partial class Form5 : Form
    {
        bool Membercheck = false;
        public Form5()
        {
            InitializeComponent();
        }
        private void Showdata1()
        {
            string MyConString = "SERVER=localhost;" +
              "DATABASE=test;" +
              "UID=root;" +
              "PASSWORD=1234;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            MySqlDataReader Reader;
            if (Membercheck == false)
                command.CommandText = "SELECT member.ID_Member,member.FNAme,member.LName,book.ID_Book,book.Name,rental.Start_Rent,rental.End_Rent FROM rental,member,book WHERE rental.ID_Member = member.ID_Member AND rental.ID_Book = book.ID_Book AND rental.Re_Rent = ''";
            if (Membercheck == true)
                command.CommandText = "SELECT member.ID_Member,member.FNAme,member.LName,book.ID_Book,book.Name,rental.Start_Rent,rental.End_Rent FROM rental,member,book WHERE rental.ID_Member = member.ID_Member AND rental.ID_Book = book.ID_Book AND rental.Re_Rent = '' AND rental.ID_Member = '" + textBox1.Text + "'";
            connection.Open();
            Reader = command.ExecuteReader();


            DataTable member_table = new DataTable();
            member_table.Load(Reader);
            connection.Close();

            dataGridView1.DataSource = member_table;
            dataGridView1.Columns[0].HeaderText = "รหัสสมาชิก";
            dataGridView1.Columns[1].HeaderText = "ชื่อผู้ยืม";
            dataGridView1.Columns[2].HeaderText = "นามสกุล";
            dataGridView1.Columns[3].HeaderText = "รหัสหนังสือ";
            dataGridView1.Columns[4].HeaderText = "ชื่อหนังสือที่ยืม";
            dataGridView1.Columns[5].HeaderText = "วันที่ยืม";
            dataGridView1.Columns[6].HeaderText = "กำหนดคืน";
        
        }
        private void Form5_Load(object sender, EventArgs e)
        {
            Membercheck = false;
            Showdata1();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Membercheck = true;
            Showdata1();
            button2.Enabled = false;
            textBox1.Enabled = false;
        }

       

        private void button1_Click(object sender, EventArgs e)
        {
            Membercheck = false;
            Showdata1();
            button2.Enabled = true;
            textBox1.Clear();
            textBox1.Enabled = true;

        }
    }
}




Tag : .NET, MySQL, C#









ประวัติการแก้ไข
2012-09-22 02:41:37
2012-09-22 15:53:56
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-21 23:24:17 By : kangsak View : 4595 Reply : 12
 

 

No. 1



โพสกระทู้ ( 121 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (C#)
TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).ToString;


กระทู้เก่าๆ มันมีอยู่ครับลองๆค้นดู






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 00:26:54 By : Downrung
 


 

No. 2



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณนะครับ ผมมืดแปดด้านเลยครับ ลองดูในโปรเจครุ่นพี่ ดูไนเนต รวมถึงใน ThaiCreate.Com ด้วย
มีเข้าประเด็นเยอะ แต่เอาไปลองแล้วไปไกลเลยครับ ช่วยผมด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 01:29:47 By : kangsak
 

 

No. 3



โพสกระทู้ ( 121 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 01:34:50 By : Downrung
 


 

No. 4



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


วันนีี้ขอยอมแพ้ก่อนครับ ตั้งแต่เย็นแล้วก็ยังไม่สำเร็จ T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 03:33:58 By : kangsak
 


 

No. 5



โพสกระทู้ ( 111 )
บทความ ( 0 )



สถานะออฟไลน์


https://www.thaicreate.com/dotnet/forum/083526.html

ตามลิงค์นี้ผมเคยทำไว้ลองดูครับ ผมเชื่อว่าคุณต้องทำได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 08:59:13 By : Littlefatboyz
 


 

No. 6



โพสกระทู้ ( 213 )
บทความ ( 0 )



สถานะออฟไลน์


ไหนลองเอาโค้ด ที่เราเขียนมาลงดิ จะช่วยเติมให้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 10:28:38 By : SeedNew
 


 

No. 7



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ผมแก้ไขโพสแล้วนะครับ เอาโค้ตกับรูปมาไห้ดูไหม่ เดี๋ยวจะลองไปตามลิงค์ของคุณ ช้อปเปอร์ก่อนครับ ขอบคุณมากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 15:55:43 By : kangsak
 


 

No. 8



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ ลักไก่เอาแบบนี้เลย แต่ยังติดปัญหาว่า มันต้องคลิกให้โดนตัวอักษรเท่านั้นจะเป็นตัวอักษรของคอลัมไหนก้ได้
และถ้่าไปกดที่ Colum Header เพื่อให้เรียงตาม ลอลัมภ์นั้น ก็เท่ากับ มันจะมั่วทันทีครับ จะแก้หรือเพิ่มเติมอะไรดีครับ


Code (C#)
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
            string MyConString = "SERVER=localhost;" +
              "DATABASE=test;" +
              "UID=root;" +
              "PASSWORD=1234;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            MySqlDataReader Reader;
            command.CommandText = "select rental.ID_Member from rental ";
            connection.Open();
            Reader = command.ExecuteReader();

            string Index = dataGridView1.CurrentRow.Index.ToString();
            int Number = -1;

            while (Reader.Read())
            {
                Number += 1;
                if (Index == Convert.ToString(Number))
                {
                    textBox8.Text = Reader["ID_Member"].ToString();
                }


            }
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-22 21:43:36 By : kangsak
 


 

No. 9



โพสกระทู้ ( 213 )
บทความ ( 0 )



สถานะออฟไลน์


จะโยนไปใส่ฟอร์มไหนเหรอ ผมดูโค้ดคุณมันซับซ้อนนิดหนึ่ง แล้วฟอร์มที่โยนใส่ ขอดูโค้ดไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-24 09:47:22 By : SeedNew
 


 

No. 10



โพสกระทู้ ( 213 )
บทความ ( 0 )



สถานะออฟไลน์


มองไม่ค่อยเห็นภาพ แต่เขียนแบบโญนข้ามฟอร์มให้แล้วกัน

Code (C#)
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;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;


namespace Test1
{
    public partial class Form5 : Form
    {
        bool Membercheck = false;

        public Form5()
        {
            InitializeComponent();
        }

        public string _ID_Member  { get; set; }
        public string _FNAme      { get; set; }
        public string _LName      { get; set; }
        public string _ID_Book    { get; set; }
        public string _Name       { get; set; }
        public string _Start_Rent { get; set; }
        public string _End_Rent   { get; set; }


        private void Showdata1()
        {
            string MyConString = "SERVER=localhost;" +
              "DATABASE=test;" +
              "UID=root;" +
              "PASSWORD=1234;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            MySqlDataReader Reader;
            
            command.CommandText  = " SELECT M.ID_Member,M.FNAme,M.LName,B.ID_Book,B.Name,R.Start_Rent,R.End_Rent ";
            command.CommandText += " FROM  rental AS R INNER JOIN member AS M  ON R.ID_Member = M.ID_Member  ";
            command.CommandText += "                   INNER JOIN book   AS B  ON R.ID_Book   = B.ID_Book    ";
            if (Membercheck == false)
            {
                command.CommandText += " WHERE R.Re_Rent = '' ";

            }
            if (Membercheck == true)
            {
                command.CommandText += " WHERE R.ID_Member = '" + textBox1.Text + "'";

            } connection.Open();
            Reader = command.ExecuteReader();

          
            DataTable member_table = new DataTable();
            member_table.Load(Reader);
            connection.Close();

            dataGridView1.DataSource = member_table;
            dataGridView1.Columns[0].HeaderText = "รหัสสมาชิก";
            dataGridView1.Columns[1].HeaderText = "ชื่อผู้ยืม";
            dataGridView1.Columns[2].HeaderText = "นามสกุล";
            dataGridView1.Columns[3].HeaderText = "รหัสหนังสือ";
            dataGridView1.Columns[4].HeaderText = "ชื่อหนังสือที่ยืม";
            dataGridView1.Columns[5].HeaderText = "วันที่ยืม";
            dataGridView1.Columns[6].HeaderText = "กำหนดคืน";

        }

        private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex == -1)
            {
                return;
            }

            _ID_Member  = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            _FNAme      = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            _LName      = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
            _ID_Book    = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
            _Name       = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
            _Start_Rent = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
            _End_Rent   = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();

            this.Close();
        }


        private void Form5_Load(object sender, EventArgs e)
        {
            Membercheck = false;
            Showdata1();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Membercheck = false;
            Showdata1();
            button2.Enabled = true;
            textBox1.Clear();
            textBox1.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Membercheck = true;
            Showdata1();
            button2.Enabled = false;
            textBox1.Enabled = false;
        }
    }
}



ส่วนค่าที่จะเอาไปใช้ก็เขียนในฟอร์มนั้นว่า

สมมุติ
textBox1.text = From5._ID_Member ;

ถ้า งง ถามได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-24 10:25:26 By : SeedNew
 


 

No. 11



โพสกระทู้ ( 111 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าเป็นอย่างที่ นายบอกนะครับ แต่ว่าแต่ได้คำตอบหรือยัง ถ้ายังไม่ได้ลองแบบนี้ดู
Code (C#)
private void _DGV_Dis_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{ 
            // กำหนดค่า Index ให้กับชื่อของตาราง Datagrid = rowClickDis
            int rowClickDis = _DGV_Dis.CurrentRow.Index;
            // กำหนดว่าแต่ละคอลัมน์ของแถวตั้งอยู่ที่ Cell หรือ คอลัมน์ที่อ้างถึง ชื่อ Textbox ที่จะส่งค่าไป
            
            dtp_DocDate.Text = _DGV_Dis.Rows[rowClickDis].Cells[0].Value.ToString(); //ตรงนี้เป็นการเอาในดาต้ากริดไปใส่textbox ถ้าเกิดตรง Cell[Index] ตามช่องจะข้ามและเกินไม่ได้นะครับ
            dtp_DocDate.Text = _DGV_Dis.Rows[rowClickDis].Cells[1].Value.ToString();

}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-25 14:55:01 By : Littlefatboyz
 


 

No. 12



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุกท่านมากครับ ขอบคุณมากจริงๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 00:00:09 By : kangsak
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนถามเรื่อง การดึงค่าจาก DataGridView มาโชวใน TextBox เมื่อ คลิกที่แถวใดๆขณะที่รันโปรแกรมอยู่ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่