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 > อยากทราบวิธี SELECT ข้อมูลเฉพาะ Columnที่ต้องการแล้วมาใส่ใน Datagridview ตามตําแหน่ง Column ที่สรา้งไว้ครับ C#



 

อยากทราบวิธี SELECT ข้อมูลเฉพาะ Columnที่ต้องการแล้วมาใส่ใน Datagridview ตามตําแหน่ง Column ที่สรา้งไว้ครับ C#

 



Topic : 105351



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



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




อยากทราบวิธี SELECT ข้อมูลเฉพาะ Columnที่ต้องการแล้วมาใส่ใน Datagridview ตามตําแหน่ง Column ที่สรา้งไว้ครับ C#

ผมใช้ฐานข้อมูล Mysql ครับ

หลังจาก bind เสร็จแล้วมันจะแสดงทั้งหมดเลยครับ แต่ผมสร้างหัว Column ใน Datagridview มาเองครับเลยจะนําข้อมูลไปวนลูปใส่ยังไวครับ

เคยแต่เขียน php มัน fetch แล้วไป while ใน tr ก็จะได้ แต่แบบนี้ไม่เคยทําครับบ

แบบ Code ด้านล่างใช้ Rows.add(); ก็ระบุcolumn ที่จะแสดงข้อมูลได้ครับ หรือว่ามีวิธีดีกว่านี้ไหมครับ หรือปกติเค้าใช้แบบนี้กัน
แต่เวลาทํา Search มันจะไม่เคลียร์ค่าเก่าครับพอเวลา กด submit ข้อมูลมาถูกแอดลงมาเรื่อย แก้ยังไงได้บ้างครับ

Code (C#)
int row = 0;
            string cmd;
            server = "localhost";
            database = "room_booking";
            uid = "root";
            password = "";
            string connectionString;
            connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
 
            connection = new MySqlConnection(connectionString);

            if (this.OpenConnection() == true)
            {
                cmd = "SELECT a.room_name, b.number_room, c.type_name, a.floor FROM room a ";
                cmd += "LEFT JOIN number_room b ON a.id_room_number = b.id_room_number ";
                cmd += "LEFT JOIN type_room c ON a.id_room_type = c.id_type";
                myCommand = new MySqlCommand(cmd, connection);
                myReader = myCommand.ExecuteReader();

                while(myReader.Read())
                {
                    dataGridView1.Rows.Add();
                    dataGridView1.Rows[row].Cells[0].Value = myReader["room_name"].ToString();
                    dataGridView1.Rows[row].Cells[1].Value = myReader["number_room"].ToString();
                    dataGridView1.Rows[row].Cells[2].Value = myReader["type_name"].ToString();
                    dataGridView1.Rows[row].Cells[3].Value = myReader["floor"].ToString();
                    dataGridView1.Rows[row].Cells[4].Value = "ดูข้อมูล";

                    row += 1;
                }
       
                //close connection
                this.CloseConnection();
            }




Tag : .NET









ประวัติการแก้ไข
2014-02-02 20:51:36
2014-02-02 20:59:05
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-02 15:59:37 By : kenghockey View : 2855 Reply : 7
 

 

No. 1



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



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

ตอน Design Time ให้สร้าง DataSet และใน DataSet สร้าง Datatable ขึ้นมาตัวนึงโครงสร้างเหมือนกับ

ตารางในฐานข้อมูลเราครับ เสร็จแล้วให้นำ DataSet ตัวนั้นน่ะ ไปผูกกับ Property DataSource ของ Datagrid

และ Property DataMember ให้เลือกเป็นชื่อ DataTable ใน DataSet ตัวนี้ ตอนนี้เราสามารถเข้าไปจัดการคอลัมป์

ได้แล้วว่าจะให้คอลัมป์ไหนแสดง คอลัมป์ไหนซ่อน รูปแบบเป็นอย่างไรแต่ละคอลัมป์

อ่าต่อไปจะพูดตอน Coding เราจะต้องรู้เกี่ยวกับการใช้ DataAdapter Fill ข้อมูลใส่ DataTable ครับ

ในโค้ดหลังจากที่เรา Fill ข้อมูลใส่ DataTable แล้วเพื่อความมั่นใจเราก็ Bind ข้อมูลใหม่อีกทีโดย

Datagrid.Datasource = Dataset
Datagrid.DataMember = Dataset.DataTable.Tablename

แค่นี้ก็จะตอบโจทย์ที่ถามมาแล้วครับ ถ้าสงใสเพิ่มเติมแอดเฟสผมมาหลังไมล์ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 09:26:36 By : 01000010
 


 

No. 2



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



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


อ่านแล้วผมก็ยังมองไม่เห็นมุมมองการเขียนโค๊ดเลยครับ ขอโค๊ดแบบเต็มได้ไหมครับ ผมมือใหม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 16:26:43 By : kenghockey
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : kenghockey เมื่อวันที่ 2014-02-03 16:26:43
รายละเอียดของการตอบ ::
จริง ๆ มันทำได้หลัก ๆ สองวิธี โดยไม่ต้องยุ่งกับช่วง Design Time เลย

ซึ่งจะใช้การเขียนคิวรี่เพียวๆ และก็ Fill ใส่ Datatable และนำ Datatable ไป Bind ได้เลย

แต่ถ้าเราต้องการจะปรับ Style Column ไหนเป็นยังไงบ้าง มันจะไม่ค่อยเห็นภาพ

เท่าตอนเราสร้างช่วง Design Time ครับ ผมจึงอยากให้สร้าง Dataset ขึ้นมาในโปรเจ็กก่อน

สร้าง DataTable ไว้ใน Dataset นั้น และนำ Dataset ไป Bind ตอนนี้เลย จะจัดการอะไรกับ Column ก็ทำได้

ส่วนช่วง Run Time ก็เขียนแค่คิวรี่แล้วก็ Fill ข้อมูลยัดใส่ DataTable มันก็มีข้อมูลใน Datagrid แล้วครับ

ref. https://www.thaicreate.com/asp.net/c-sharp-asp.net-dataset.html

เมื่ออ่านลิ้งด้านบนจบแล้ว สำคัญตรงที่ DataSet ครับ ต้องไป bind กับ Datagrid แต่ในลิ้งไม่มีการ Bind นะครับ

ซึ่งเราจะไม่สร้าง Dataset เหมือนในโค้ด แต่เราจะสร้างในช่วง Design Time แล้วจัดการกับคอลัมป์ ณ ตอนนั้นเลย

ส่วนข้อมูล ไว้ทำตอน Run Time

ปล. ผมอาจจะพูดวกไปวนมา กำกวม ซึ่งมันเป็นเรื่องยากสำหรับผมที่จะอธิบาย ถ้าสะดวกก็แอดเฟสมาหลังไมล์ได้ครับ



ประวัติการแก้ไข
2014-02-03 16:44:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 16:44:13 By : 01000010
 


 

No. 4



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



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


นั้นแหละครับที่งง เลยว่าเมื่อไร Dataset แล้วเอาไป Bind หมายถึงจะจับข้อมูลที่ต้องการใส่ที่ Column ที่ต้องการรึเปล่าครับ

ผมอยากให้ลองเขียนโค๊ดให้ผมดูหน่อยครับ

งั้นขอยกตัวอย่างมี TB 1

ฟิลด์มี value1 | value2| value3

- วิธีเลือกที่จะ Bind ลงใน Datagrid แบบระบุ column เราจะเขียนได้ยังไงครับ
- แล้วเราจะปรับเปลี่ยนชื่อหัว Cloumn ใน Datagrid ยังไงครับ เพราะถ้าอย่างที่ผมเลยดึงออกมามันมาทั้งชื่อฟิลด์ทั้งข้อมูล ลงมาใน Datagrid เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 17:41:37 By : kenghockey
 


 

No. 5



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



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

สร้าง Datatable ผูกกับ Datasource ของ Datagrid ได้ไหมครับ แบบไม่เขียนโค้ด

ถ้าได้ก็จัดการคอลัมป์ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 19:11:41 By : 01000010
 


 

No. 6



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



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


งง แล้วโค๊ดที่ผมโพสด้านบนมันก็ใช้ได้ปกตินะครับ หรือว่าส่วนใหญ่เค้าไม่ทํากัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 20:02:25 By : kenghockey
 


 

No. 7



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



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

จริงๆ No.3 ผมก็ได้เกริ่นไว้แล้วว่ามันใช้ได้หลายแบบนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-03 21:52:10 By : 01000010
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบวิธี SELECT ข้อมูลเฉพาะ Columnที่ต้องการแล้วมาใส่ใน Datagridview ตามตําแหน่ง Column ที่สรา้งไว้ครับ C#
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่