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

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)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : กลุ่มงานเทคโนโลยีสารสนเทศ
กลุ่มงานเทคโนโลยีสารสนเทศ » ซอฟต์แวร์ลิขสิทธิ์ มหาวิทยาลัยแม่โจ้
กองเทคโนโลยีดิจิทัล มีภารกิจดูแลการให้บริการซอฟต์แวร์ลิขสิทธิ์ที่ให้บริการภายในมหาวิทยาลัย ซึ่งผู้ใช้งานทั้งอาจารย์ นักวิจัย เจ้าหน้าที่ และนักศึกษา มีความต้องการใช้งานซอฟต์แวร์ที่หลากหลาย และซอฟต์...
ซอฟท์แวร์ลิขสิทธิ์  โปรแกรมลิขสิทธิ์  โปรแกรมสำเร็จรูป     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน บรรพต โตสิตารัตน์  วันที่เขียน 13/5/2563 11:03:42  แก้ไขล่าสุดเมื่อ 11/8/2563 2:50:56   เปิดอ่าน 569  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
MS OFFICE » คู่มือใช้งาน Google Classroom สำหรับอาจารย์ มหาวิทยาลัยแม่โจ้
Google Classroom เป็นบริการของ Google ที่มีเครื่องมือสำหรับให้อาจารย์ผู้สอนได้ใช้ประโยชน์ในการสร้างห้องเรียนเสมือนได้ ซึ่งการใช้งานนั้น สามารถเข้าใช้งานได้ทุกอุปกรณ์ไม่ว่าจะเป็น คอมพิวเตอร์แท็ปเล็ต...
Google Classroom     กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน ศุภวรรณ สัจจากุล  วันที่เขียน 8/4/2563 14:42:54  แก้ไขล่าสุดเมื่อ 10/8/2563 15:52:20   เปิดอ่าน 495  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
ทั่วไป » ทำงานที่บ้าน จะติดต่อระหว่างหน่วยงานอย่างไร
เดิมปกติจะใช้เบอร์โต๊ะโทรประสานงานกัน แต่ช่วงนี้เราจำเป็นต้องทำงานจากที่บ้าน หากคนที่เคยติดต่อกันทาง facebook line ก็จะไม่มีปัญหา แล้วคนอื่น หน่วยงานอื่นล่ะจะทำยังไง เรามีเครื่องมือไว้ให้พร้อมแล้ว ...
  กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานเทคโนโลยีสารสนเทศ
ผู้เขียน วสุ ไชยศรีหา  วันที่เขียน 27/3/2563 12:21:15  แก้ไขล่าสุดเมื่อ 11/8/2563 3:55:18   เปิดอ่าน 833  ครั้ง | แสดงความคิดเห็น 0  ครั้ง