Get Adobe Flash player

วิธีการกำหนดค่าให้ตัวแปร sqlDatasource ที่ไม่ได้รับค่ามาจาก user

การเพิ่มหรือแก้ไขข้อมูลของฟิลด์ที่ไม่ต้องการให้ user กำหนดเองได้ หรือ ฟิลด์ที่ไม่ได้อยู่ใน Editform layout สามารถทำได้ดังนี้

ตัวอย่าง

ชื่อฟิลด์                         รายละเอียด

Created_User               ฟิลด์เก็บ username ของ user ที่สร้างข้อมูลใหม่

Created_Datetime       ฟิลด์เก็บวันเวลาที่ user สร้างข้อมูลใหม่

Modified_User             ฟิลด์เก็บ username ของ user ที่แก้ไขข้อมูลล่าสุด

Modified_Datetime     ฟิลด์เก็บวันเวลาที่ user แก้ไขข้อมูลล่าสุด

การกำหนดค่าของตัวแปรเหล่านี้ สามารถกำหนดค่าผ่าน e.NewValues[“Column name”] = value; ใน event RowInserting และ RowUpdating

1. RowInserting คือ event ในขณะก่อนเกิดการส่งค่าตัวแปรไปยัง sqlDatasource เพื่อทำการเพิ่มข้อมูลใหม่ (insert) ลงฐานข้อมูล

protected void ASPxGridView_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)

{

e.NewValues[“Created_Datetime”] = DateTime.Now;

e.NewValues[“Created_User”] = Session[“Username”]+””;

e.NewValues[“Modified_Datetime”] = DateTime.Now;

e.NewValues[“Modified_User”] = Session[“Username”]+””;

}

            จากโค้ดด้านบน เมื่อมีการจะบันทึกข้อมูลใหม่ จะกำหนดค่าตัวแปร Created_Datetime ,Modified_Datetime ด้วยเวลาปัจจุบัน (DateTime.Now) และ Created_User ,Modified_User ด้วย username ของ user ที่ใช้งานระบบอยู่ เป็นการเก็บสถานะการสร้างข้อมูลใหม่และการแก้ไขล่าสุดของแถวข้อมูลนั้นๆ

2.  RowUpdating คือ Event ในขณะก่อนเกิดการส่งค่าตัวแปรไปยัง sqlDatasource เพื่อทำการแก้ไขข้อมูล (update) ที่มีอยู่ในฐานข้อมูล

protected void ASPxGridView_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)

{

e.NewValues[“Modified_Datetime”] = DateTime.Now;

e.NewValues[“Modified_User”] = Session[“Username”]+””;

}

          จากโค้ดด้านบน เมื่อมีการจะแก้ไขข้อมูล จะกำหนดค่าตัวแปร Modified_Datetime ด้วยเวลาปัจจุบัน (DateTime.Now) และ Modified_User ด้วย username ของ user ที่ใช้งานระบบอยู่ เป็นการเก็บสถานะการแก้ไขล่าสุดของแถวข้อมูลนั้นๆ

Leave a Reply

Your email address will not be published. Required fields are marked *