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 datatable แล้วมันไม่เรียงให้ครับ



 

ช่วยดูให้หน่อยครับผม Select datatable แล้วมันไม่เรียงให้ครับ

 



Topic : 110691



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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



1
อยากให้เรียงแบบนี้ครับ
2
Code (C#)
private void RefreshData()
        {
            Cursor = Cursors.WaitCursor;
            List<string> _file = new List<string>();
            _file = TORServices.clsFile_Path.GetFilesRecursive(TORServices.clsPathData.Path_AllReport, "*.Report");
            if (_file.Count <= 0) { return; }
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("SampleID",typeof(string)));
            dt.Columns.Add(new DataColumn("Parameter", typeof(string)));
            dt.Columns.Add(new DataColumn("Value", typeof(string)));
            dt.Columns.Add(new DataColumn("Date", typeof(string)));
            dt.Columns.Add(new DataColumn("ผู้วิเคราะห์", typeof(string)));
            dt.Columns.Add(new DataColumn("Seleced", typeof(Boolean)));
            for(int f = 0;f < _file.Count-1;f++)
            {
                dgvmgKg.DataSource = GetTable("SELECT * FROM `mg_Kg$Print_Area`", _file[f]).DefaultView;
                dgvmgL.DataSource = GetTable("SELECT * FROM `mg_L$Print_Area`", _file[f]).DefaultView;
                for (int i = 0; i < this.dgvmgL.RowCount - 1; i++)
                {
                    if (this.dgvmgL[this.dgvmgL.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
                    {
                        DataRow dr = dt.NewRow();
                        dr["SampleID"] = this.dgvmgL[this.dgvmgL.ColumnCount - 6, i].Value.ToString().Trim();
                        dr["Parameter"] = this.dgvmgL[this.dgvmgL.ColumnCount - 5, i].Value.ToString().Trim();
                        dr["Value"] = this.dgvmgL[this.dgvmgL.ColumnCount - 4, i].Value.ToString().Trim();
                        dr["Date"] = this.dgvmgL[this.dgvmgL.ColumnCount - 3, i].Value.ToString().Trim();
                        dr["ผู้วิเคราะห์"] = this.dgvmgL[this.dgvmgL.ColumnCount - 2, i].Value.ToString().Trim();
                        dr["Seleced"] = true;
                        dt.Rows.Add(dr);
                       
                    }
                }

                for (int i = 0; i < this.dgvmgKg.RowCount - 1; i++)
                {
                    if (this.dgvmgKg[this.dgvmgKg.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
                    {
                        DataRow dr = dt.NewRow();
                        dr["SampleID"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 6, i].Value.ToString().Trim();
                        dr["Parameter"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 5, i].Value.ToString().Trim();
                        dr["Value"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 4, i].Value.ToString().Trim();
                        dr["Date"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 3, i].Value.ToString().Trim();
                        dr["ผู้วิเคราะห์"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 2, i].Value.ToString().Trim();
                        dr["Seleced"] = true;
                        dt.Rows.Add(dr);
                    }
                } 
            }
            dt.Select("", "SampleID ASC");//ตัวนี้ต้อง select ยังไงครับ
            dataGridView1.DataSource =dt ;
            Cursor = Cursors.Default;
        }




Tag : .NET, Excel (Excel.Application), Win (Windows App), C#, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-18 14:07:37 By : lamaka.tor View : 1164 Reply : 8
 

 

No. 1



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



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


ลองแก้ตรงนี้ดูครับ

dgvmgKg.DataSource = GetTable("SELECT * FROM `mg_Kg$Print_Area` order by SampleID ", _file[f]).DefaultView;
dgvmgL.DataSource = GetTable("SELECT * FROM `mg_L$Print_Area` order by SampleID ", _file[f]).DefaultView;






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-18 15:52:09 By : fonfire
 


 

No. 2



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตรงนั้นผ่านไปแล้วครับ
คือผมรวม File Excel หลายๆไฟล์มาไว้ใน Datatable เดียว เพื่อที่จะเรียง SampleID โดยการใช้ Query
แค่นั้นเองครับแต่ทีนี้ผมรวมเป็น Datatable แล้วใช้ Select มันกลับไม่เรียงให้ต้องมาคลิกที่หัวคอลัมน์เหมือนเดิม
ก็เลยสงสัยว่ามันเกิดจากอะไร
ประมาณนั้นครับ
ประเด่นคือ ผมต้องการจะเรียง SampleID ใช้หรือไม่ใช้ Datatable ก็ได้ครับ
ขอแค่ให้ผลออกมาที่ Datagridview เป็นพอ พอจะมีวิธีไม่๊ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-18 16:56:34 By : lamaka.tor
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


เลือก 2 ตาราง ไม่ลองใช้ union all ดูล่ะครับ

SELECT * FROM `mg_Kg$Print_Area` UNION ALL `mg_L$Print_Area` ORDER BY ????? ",


สำหรับ datagridview sort
http://msdn.microsoft.com/en-us/library/0868ft3z(v=vs.110).aspx


ประวัติการแก้ไข
2014-08-19 07:23:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 07:20:08 By : Chaidhanan
 


 

No. 4

Guest


ตรงลนลูปเอา datasource1 กับ datasource 2 มารวมใน dt น่ะ

ลองเปลี่ยนไปใช้ datatable merge ดูนะ โค้ดจะสั้นกว่านั้นเยอะ อย่างมากก็เหลือ 2 บรรทัด

ส่วนถ้าอยาก sort ก็ลอง linq ดู

Code (C#)
DataTable result = (dt.AsEnumerable().OrderBy(r => r.Field<int>("SampleID")).AsDataView().ToTable();

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 08:49:11 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 5



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



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


แบบนี้ได้ไหมครับ
http://www.vbforums.com/showthread.php?694159-RESOLVED-DataGridView-Columns-sorting-Programmatically
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 12:32:39 By : fonfire
 


 

No. 6

Guest


dataGridView1.DataSource =dt.Select("", "SampleID ASC");

ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-19 16:45:03 By : PeeCasper
 


 

No. 7



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ขอบคุณทุกท่านครับ
ผมจะลองทำดูเด๋วมารายงานให้ทราบครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-20 08:48:12 By : lamaka.tor
 


 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ได้แล้วครับ ใช้

Code (C#)
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);


แถมยังไม่จำเป็นต้องใช้ Datatable อีกด้วย
ขอบคุณทุกท่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-20 10:48:44 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูให้หน่อยครับผม Select datatable แล้วมันไม่เรียงให้ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่