ThaiPBL.com

PowerBuilder Library Thailand

อีเมล พิมพ์ PDF

Buffer ของ datawindow มีอยู่ด้วยกันทั้งหมด 4 แบบด้วยกันคือ

Buffer ของ datawindow มีอยู่ด้วยกันทั้งหมด 4 แบบด้วยกันคือ

Primary buffer เป็น buffer หลักที่เก็บข้อมูลทุกอย่างของตัว datawindow

Delete buffer เป็น buffer ที่เก็บข้อมูลที่ถูกลบทิ้งจาก primary buffer

Filter buffer เป็น buffer ที่เก็บข้อมูลที่ถูกทำ filter จาก primary buffer

Original buffer เป็น buffer ที่ถูกใช้โดยตัวโปรแกรม PowerBuilder เอง จะเป็น buffer ที่เก็บข้อมูลที่ถูก retrieve จาก database

 

เราสามารถอ้างถึง buffer ต่างๆเหล่านี้ได้ก็ต่อเมื่อ ฟังก์ชั่นนั้น ยอมอนุญาติ โดยจะมี argument ที่จะรับค่าคือ dwbuffer และค่าที่ส่งไปนั้นมีรูปแบบดังนี้

Primary!  Delete! Filter!

    ใน Primay และ Filter buffer นั้นจะมี edit status flag เป็นตัวชี้ให้ทราบว่า row หรือ column นั้น ถูก modified หรือ เป็น ของใหม่ และ flag เหล่านี้เราสามารถเรียกใช้ได้โดย ใช้คำสั่ง GetItemStatus ซึ่งจะเก็บค่าเอาใว้ใน dwitemstatus โดยมีรูปแบบดังนี้

        dwcontrol.GetItemStatus ( row, column, dwbuffer )

    โดยเรากำหนดตัวแปรขึ้นมาหนึ่งตัว ตามตัวอย่าง

        dwitemstatus  dwstatus

จากนั้นก็นำตัวแปร dwstatus ไปรับค่าจากฟังก์ชั่น GetItemStatus สำหรับ return code ที่ได้รับกลับมามีดังนี้

NotModified!     row,column ที่ไม่มีการเปลี่ยนแปลงดังนั้นก็ไม่จำเป็นต้องมีการใช้คำสั่ง update

Datamodified!     แสดงว่ามีการเปลี่ยนแปลงเกิดขึ้นใน row หรือ column ดังนั้นจึงต้องมีการ update

New!     มีการ insert row เกิดขึ้นหลังจากที่ได้ retrieve ข้อมูลแล้ว

NewModified!     มีการ insert row เกิดขึ้นหลังจากที่ได้ retrieve ข้อมูลแล้ว และมีการเปลี่ยนแปลงใน column ด้วย

บทความนี้มาจาก www.soopsawat.com