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,038

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


 

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

 
Topic : 110691



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



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


1
อยากให้เรียงแบบนี้ครับ
2
Code (C#)
01.private void RefreshData()
02.        {
03.            Cursor = Cursors.WaitCursor;
04.            List<string> _file = new List<string>();
05.            _file = TORServices.clsFile_Path.GetFilesRecursive(TORServices.clsPathData.Path_AllReport, "*.Report");
06.            if (_file.Count <= 0) { return; }
07.            DataTable dt = new DataTable();
08.            dt.Columns.Add(new DataColumn("SampleID",typeof(string)));
09.            dt.Columns.Add(new DataColumn("Parameter", typeof(string)));
10.            dt.Columns.Add(new DataColumn("Value", typeof(string)));
11.            dt.Columns.Add(new DataColumn("Date", typeof(string)));
12.            dt.Columns.Add(new DataColumn("ผู้วิเคราะห์", typeof(string)));
13.            dt.Columns.Add(new DataColumn("Seleced", typeof(Boolean)));
14.            for(int f = 0;f < _file.Count-1;f++)
15.            {
16.                dgvmgKg.DataSource = GetTable("SELECT * FROM `mg_Kg$Print_Area`", _file[f]).DefaultView;
17.                dgvmgL.DataSource = GetTable("SELECT * FROM `mg_L$Print_Area`", _file[f]).DefaultView;
18.                for (int i = 0; i < this.dgvmgL.RowCount - 1; i++)
19.                {
20.                    if (this.dgvmgL[this.dgvmgL.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
21.                    {
22.                        DataRow dr = dt.NewRow();
23.                        dr["SampleID"] = this.dgvmgL[this.dgvmgL.ColumnCount - 6, i].Value.ToString().Trim();
24.                        dr["Parameter"] = this.dgvmgL[this.dgvmgL.ColumnCount - 5, i].Value.ToString().Trim();
25.                        dr["Value"] = this.dgvmgL[this.dgvmgL.ColumnCount - 4, i].Value.ToString().Trim();
26.                        dr["Date"] = this.dgvmgL[this.dgvmgL.ColumnCount - 3, i].Value.ToString().Trim();
27.                        dr["ผู้วิเคราะห์"] = this.dgvmgL[this.dgvmgL.ColumnCount - 2, i].Value.ToString().Trim();
28.                        dr["Seleced"] = true;
29.                        dt.Rows.Add(dr);
30.                        
31.                    }
32.                }
33. 
34.                for (int i = 0; i < this.dgvmgKg.RowCount - 1; i++)
35.                {
36.                    if (this.dgvmgKg[this.dgvmgKg.ColumnCount - 1, i].Value.ToString().Trim().Length != 0)
37.                    {
38.                        DataRow dr = dt.NewRow();
39.                        dr["SampleID"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 6, i].Value.ToString().Trim();
40.                        dr["Parameter"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 5, i].Value.ToString().Trim();
41.                        dr["Value"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 4, i].Value.ToString().Trim();
42.                        dr["Date"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 3, i].Value.ToString().Trim();
43.                        dr["ผู้วิเคราะห์"] = this.dgvmgKg[this.dgvmgKg.ColumnCount - 2, i].Value.ToString().Trim();
44.                        dr["Seleced"] = true;
45.                        dt.Rows.Add(dr);
46.                    }
47.                }
48.            }
49.            dt.Select("", "SampleID ASC");//ตัวนี้ต้อง select ยังไงครับ
50.            dataGridView1.DataSource =dt ;
51.            Cursor = Cursors.Default;
52.        }




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 : 1192 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,590 )
บทความ ( 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#)
1.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#)
1.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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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