CodeBehind การ Search, Sort, Filter, Distinct value From DataSet
วันที่เขียน 10/9/2555 16:33:19     แก้ไขล่าสุดเมื่อ 29/3/2567 8:20:56
เปิดอ่าน: 8927 ครั้ง

C#.net codebehind Searching, Sorting, Filter, Distinct

ในบางครั้งการใช้ข้อมูลจาก Webservice ซึ่งคืนค่าเป็น DataSet ผู้พัฒนาโปรแกรม อาจจำเป็นต้องทำการ Seach Sort Filter ตลอดจน การ Distinct ข้อมูล เพื่อนำข้อมูลมาใช้งานต่อ ทั้งนี้ในอดีต เราอาจใช้วิธี วน Loop แต่วันนี้ เราจะเขียนโปรแกรมได้ง่ายขึ้น โดยจะยกตัวอย่างให้สามารถนำไปปรับใช้ได้ง่ายๆ นะคะ (ในที่นี้เป็น C#.net ภาษาอื่นก็นำไปปรับใช้นะคะ)

1. การ Search

//กรณีต้องการ Search ฟิวด์ codeid
DataRow[] returnedRows;
returnedRows = ds.Tables[0].Select("codeid='" + id + "'");
string name = returnRows[0][1].ToString();

 

2. การ Sort/Filter/Distinct Value (ที่มี uniqueID ด้วย)

DataSet ds = ดาต้าเซทที่จะใช้;
ds.Tables[0].Columns.Add("displayname", typeof(string), "[facultyname]+'==>'+[programcodename]"); //การเพิ่มคอลัมท์จากการ เชื่อม 2 ฟิลด์สำหรับการแสดงผล
DataView dataview = new DataView(ds.Tables[0]);
dataview.RowFilter = "displayname NOT LIKE '%ซ้ำ%'"; //ฟิวเตอร์ ไม่เอาข้อความที่มีคำว่า ซ้ำ จะใช้ LIKE หรือ เครื่องหมายทางคณิตศาสตร์ก็ได้
dataview.Sort = "displayname DESC"; //การเรียงลำดับข้อมูลจากมากไปหาน้อย กรณีจากน้อยไปหามาก ใช้ ASC
DataTable datatable = dataview.ToTable(); //นำข้อมูลที่ได้จากการประมวลผล dataview ใส่กลับคืนให้กับ datatable

//ต่อไปนี้เป็นการ เอาค่า ID ล่าสุด แยกตาก Group by ที่ต้องการ ในที่นี้จะ group ด้วย displayname ที่สร้างใหม่จากคำสั่งข้างบน แล้วนำไปสร้างเป็น table g ที่มีการ select ข้อมูล จาก Max ID ซึ่งก็คือ programid และ NAME ในที่นี้จะแทนค่าใน displayname
var results = from p in datatable.AsEnumerable()
group p by p["displayname"]
into g
select new
{
ID = g.Max(u => u["programid"]),
NAME = g.Key
};

ddl.DataSource = results; // นำผลการประมวลผลเป็น DataSource ของ DropDownList

ddl.DataTextField = "NAME";
ddl.DataValueField = "ID";
ddl.DataBind();
ddl.Items.Insert(0, new ListItem(""));

//หรือกรณีเป็น GridView ก็สามารถทำได้โดย
gv.DataSource = results.ToList();
gv.DataBind();

คำสำคัญ :
กลุ่มบทความ :
หมวดหมู่ :
แชร์ :
https://erp.mju.ac.th/acticleDetail.aspx?qid=216
ความคิดเห็นทั้งหมด (0)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : กลุ่มงานเทคโนโลยีสารสนเทศ
ความรู้ที่ได้จากการศึกษาค้นคว้าด้วยตนเอง » Assignment in Microsoft Teams
การมอบหมายงาน (Assignment ) สำหรับนักศึกษาในห้องเรียน ระบบ Microsoft Teams สร้างความสะดวกในการมอบหมายงานให้กับนักศึกษา การส่งงาน และสามารถให้คะแนนนักศึกษาแต่ละคนในห้องเรียน สำหรับผู้ที่อยู่ในสถาบัน...
Assignment  Microsoft Teams  การมอบหมายงาน  การให้คะแนน     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สุภาพรรณ อนุตรกุล  วันที่เขียน 26/3/2567 18:01:20  แก้ไขล่าสุดเมื่อ 28/3/2567 19:07:27   เปิดอ่าน 16  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
ความรู้ที่ได้รับจากการเข้าร่วมประชุม/อบรม/สัมมนา » Google Sites สร้างเว็บไซต์ได้อย่างง่ายดาย
Google Sites คือโปรแกรมหนึ่งของ บริษััท Google ที่เปิดให้ สมาชิกของ Google สามารถ สร้างเว็บไซต์ของตนเองได้ฟรี โดยการสร้างเว็บไซต์ ด้วย Google Sites นั้น ทำได้ง่าย เหมือนกับการแก้ไข เอกสารธรรมดา ๆ ช...
Google Sites  เว็บไซต์     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สุภาพรรณ อนุตรกุล  วันที่เขียน 11/3/2567 17:19:12  แก้ไขล่าสุดเมื่อ 28/3/2567 19:07:08   เปิดอ่าน 74  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การพัฒนาระบบสารสนเทศ » การกำหนดผลลัพธ์การเรียนรู้รายวิชา CLOs ผ่าน มคอ.3
หัวข้อนี้เน้น การออกแบบหลักสูตรให้ตอบสนองต่อผลการเรียนรู้ที่คาดหวังของหลักสูตร สะท้อนถึงความต้องการ ของผู้ที่เกี่ยวข้องครบทุกภาคส่วน และผลการเรียนรู้นั้นต้องครอบคลุมทั้งความรู้ ทักษะเฉพาะทางและทักษ...
CLO  ELO  PLO     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สมนึก สินธุปวน  วันที่เขียน 18/11/2566 23:45:59  แก้ไขล่าสุดเมื่อ 29/3/2567 7:23:36   เปิดอ่าน 205  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การพัฒนาระบบสารสนเทศ » แอปพลิเคชันสำหรับช่วยในการจัดเรียนการสอน
การเรียนผ่านเครื่องมือช่วยสอนโดยใช้แอปพลิเคชันมีบทบาทในการส่งเสริมและช่วยเหลืออาจารย์และนักศึกษาเป็นอย่างมาก บทความนี้ได้รวบรวม 8 เครื่องมือช่วยสอนสำหรับอาจารย์ในการช่วยจัดการเรียนการสอนให้เกิดความ...
Canva  Kahoot  Nearpod  Plicker  Quizizz  Storyboard  Visme  Voxer     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน สมนึก สินธุปวน  วันที่เขียน 18/11/2566 23:01:13  แก้ไขล่าสุดเมื่อ 28/3/2567 17:05:48   เปิดอ่าน 186  ครั้ง | แสดงความคิดเห็น 0  ครั้ง