[K2 Smart Forms] Dropdownlist Control Sort

สวัสดีครับ วันนี้จะมาว่ากันด้วยเรื่องการทำ sort data กับ  SQL Collation  ซึ่งแต่ละแบบก็จะมีผลลัพธ์ของการ sort ข้อมูลกับตัว dropdownlist ที่แตกต่างกัน
ที่เขียนกระทู้นี้ขึ้นมาเพราะผมไปเจอปัญหาว่า ต้องการ sort ข้อมูล master data
ที่ตัว dropdownlist ให้เรียงตามลำดับตัวอักษร ก-ฮ   ซึ่งวิธีทั่วไปก็แน่นอนว่าเราต้องไปที่
rule populate Drop-Down List Control with Data  และเลือกใช้ sort ค่าใน column
ที่ต้องการซึ่งไอเจ้าข้อมูลดังกล่าวที่เป็น master data เนี่ย โดยทั่วไปแล้วเราก็จะสร้าง ก้อน database ไว้เพื่อเก็บข้อมูลซึ่งถ้าเราสร้างโดยไม่คิดอะไรก็กดสร้างมันขึ้นมา สร้าง Table ใส่ข้อมูล ผูกเข้ากับ smo เพื่อดึงมาใช้ที่ dropdownlist  ซึ่งถ้าตามสเต๊ปการ Config ที่หน้าจอแล้วมันก็ควรจะเรียงให้เพราะสั่ง sort มันแล้ว แต่สิ่งที่เกิดคือมันไม่เรียงนะซิครับ
EN2

Untitled

ซึ่งสาเหตุที่ไม่เรียงก็เกิดจากเจ้าตัว sql collation ของเราที่กำหนดไว้ตั้งแต่แรกนี่แหละ ซึ่งถ้าลองไปเช็คดูที่ก้อน Database จะเป็น Type เหมือนในรูปภาพครับ

EN
ซึ่งถ้าเราจะ sort ตัวอักษรภาษาไทยอาจจะมีปัญหาเหมือนเคสตัวอย่างที่ผมบอกไปตามข้างบนครับ โดยสิ่งที่ผมแก้ก็คือไปเปลี่ยนเจ้าตัว sql collation ตัวนี้ให้เป็นภาษาไทยซะ
TH

ลองแล้วเปิดหน้าฟอร์มดูสิ่งที่แตกต่างคือที่ Drop-Down List ทำการ sort ค่าให้

TH2

เผื่อมาขาเดฟท่านไหนเคยเจอปัญหาแบบนี้ลองแก้ด้วยวิธีนี้ดูครับ แต่บางทีการเปลี่ยน sql collation ของก้อน database ก็อาจจะไม่ใช่เรื่องง่ายเพราะบางครั้งอาจจะมีข้อมูลเยอะละก็ format data ที่แตกต่างกันไปของแต่
ละที่ ที่ใช้งาน ยังไงก็ฝากเพื่อนๆขาเดฟ ไว้เป็นข้อระวังเพิ่มเติมตอนทำโปรเจคแล้วกันนะครับ

 

ขอบคุณครัช

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s