วันศุกร์ที่ ๑๒ ตุลาคม พ.ศ. ๒๕๕๐

การสร้างเลขลำดับแถวในตารางข้อมูล (Create row number in Gridview)

เลขลำดับแถว (row number) คือ เลขที่เรียงจาก 1 ถึงจำนวนสุดท้ายของข้อมูล ส่วนใหญ่จะเอาไว้เป็น column แรกสุดของตาราง ในกรณีนี้คือ ตาราง Gridview ที่มีการ biding ข้อมูลมาจากฐานข้อมูลนะครับ ดังรูปข้างล่าง

วิธีการสร้างก็มีอยู่ 2 วิธี คือ
1. กำหนดไว้ในคำสั่ง SQL
2. กำหนด column เพิ่มไว้ใน Gridview แล้วสร้าง label หรือ control ที่ต้องการไว้ข้างใน

สำหรับผมแล้ววิธีที่ 2 ค่อนข้างยุ่งยากและเขียนโค้ดยาวกว่า เพราะต้องมาคอยกำหนดเลขใหม่ตอน Databound ทุกครั้ง และผมจึงได้ใช้วิธีที่ 1 ซึ่งสะดวกกว่ามากครับ โดยการกำหนดสั่งใน SQL ก็แค่ไปแทรกไว้ในส่วนหลังคำสั่ง Select เท่านั้นเอง เช่น

จาก
SELECT CustomerID, CustomerName, CustomerAddress FROM tblCustomer

เป็น
SELECT Row_Number() OVER(ORDER BY CustomerID) AS RowNo, CustomerID, CustomerName, CustomerAddress FROM tblCustomer

และในการนำเลขลำดับแถวที่ได้จากการ query ก็เพียงกำหนด properties ชื่อ DataField ใน column ที่ต้องการเป็น RowNo เท่านั้น (ชื่อสามารถเปลี่ยนได้ตามต้องการ)

แหล่งข้อมูล :
displaying gridview row index number
Row number to gridview - dotnetspider
How to display row numbers in GridView - MSDN - Create column
Display Row number count increment in grid view using template column

Related Post