07
มกร
ISC WebCoop
การใช้ Datawindow

DataWindow Designer

การเปิด Project จากโปรแกรม DataWindow Designer
ไป File -> Open Project... -> เลือก project (.dwp)
project จะอยู่ใน path : C:\GCOOP\Saving\DataWindow\ระบบ\project (.dwp)

หมาย เหตุ : สร้าง 1 pbl ต่อ 1 w_sheet ซึ่งหมายความว่า 1 pbl มีได้หลาย data window โดยการตั้งชื่อตั้งตามชื่อ w_sheet แต่ตัด w_sheet ออก เช่นจะได้เป็น app_sheetname.pbl

การสร้าง PBL ไปคลิกขวาที่โปรเจก เลือก New Library

การสร้าง Datawindow
เลือก pbl ที่ต้องการจะสร้าง Datawindow แล้วไปที่ File -> New -> DataWindow -> เลือกชนิดให้เหมาะสมกับการทำงาน  (เช่นเลือกเป็น Tabular, Grid view )

1. การเรียกใช้ datawindow จากหน้าเวป

ไปที่ toolbox เลือก ประเภท Sybase Datawindow2.5 แล้วดับเบิ้ลคลิ๊ก object ที่ชื่อ WebDataWindowControl จะได้ดังรูป


2. การเซตค่า WebDataWindowControl

สามารถทำการเซตค่าได้ที่ Properties ส่วนสำคัญที่จะต้องมีเซตค่าทุกครั้ง


Misc
(id)   : dw_main (เป็นชื่อ Datawindow ไว้สำหรับใช้ในส่วนโค้ด)
Datawindow
LibraryList  : d_dp_slip_master_usebkbal (เป็นการเลือก library (.pbl) ที่ทำการเก็บ datawindow ตัวที่ต้องการไว้ ตามขั้นตอนดังนี้)

1. กดปุ่ม Add library to library list ทำการเพิ่ม library ก่อน
2. กดปุ่ม Browse libraries เพื่อทำการหา library (.pbl) ที่เก็บ datawindow ตัวที่ต้องการไว้
3. กดปุ่ม Ok เป็นอันเสร็จเรียบร้อย

DataWindowObject  : d_slipbank (เป็นการเลือก datawindow ที่ต้องการใช้)

Behavior
AutoRestoreContext                          = False            //เกี่ยวข้องกับ JsPostback
AutoRestoreDataCache                     = True            //เกี่ยวข้องกับ JsPostback
AutoSaveDataCacheAfterRetrieve   = True            //เกี่ยวข้องกับ JsPostback
ClientScriptable                                  = True            // ให้เรียกใช้ Java Script ได้

DataWindow Client EventScripts    สร้างเหตุการณ์ต่างๆ ให้กับ Data window
เช่น
ClientEventButtonClickes    : OnButtonClicked  (เมื่อมีการคลิ๊กที่ปุ่ม จะเกิดเหตุการณ์ตามที่ฟังก์ชัน ต้องการแสดง)
function OnButtonClicked(sender, rowNumber, buttonName, value)
{
//Do something
}

ClientEventClicked  : OnDwMainClick (เมื่อมีการคลิ๊กที่ Data Window นี้ จะเกิดเหตุการณ์ตามที่ฟังก์ชันต้องการ)
function OnDwMainClick(sender, rowNumber, objectName)
{
//Do something
}
ClientEventItemChanged   : OnDwMainItemChanged (เมื่อ field ที่ถูกกำหนดมีการ เปลี่ยนแปลง ข้อมูล จะเกิดเหตุการณ์ตามที่ฟังก์ชันต้องการ)
function OnDwMainItemChanged(sender, rowNumber, columnName, newValue)
{
//Do something
}
ClientEventItemError  : OnError
function OnError(sender, rowNumber, columnName, newValue)
{
//Do something
}

และ Event อื่นๆ ตามต้องการ

Java script การ get และ set ข้อมูล

การ get ข้อมูล
var ชื่อตัวแปร = odjชื่อDataWindow.GetItem(rowNumber,”fieldName”)
ตัวอย่าง
var deptWithFlag = objDwMain.GetItem(1, "deptwith_flag");

การ set ข้อมูล
objชื่อDataWindow.SetItem(rowNumber, ”fieldName”, newValue)
ตัวอย่าง
objdw_cheque.SetItem(sheetRow, "bank_code", bankCode);
//และจะต้องตามด้วย
objdw_cheque.AcceptText();


Code behind การ get และ set ข้อมูล

การ get ข้อมูล
ชนิดข้อมูล ชื่อตัวแปร = ชื่อDataWindow.GetItem_ชนิดข้อมูล(rowNumber,”fieldName”)
ตัวอย่าง
String accNo = DwMain.GetItemString(1, "deptaccount_no");

การ set ข้อมูล
ชื่อDataWindow.SetItem_ชนิดข้อมูล(rowNumber,”fieldName”,newValue)
ตัวอย่าง
DwItem.SetItemDecimal(1, "prncslip_amt", slipAmt);

การ Retrieve, Insert และ Update ข้อมูลในหน้าเว็บโดยใช้ Data Window

การ Retrieve ข้อมูล
    เริ่มจากสร้าง ConnectionString ให้กับ DataWindow
this.ConnectSQLCA();   
DwMain.SetTransaction(sqlca);   

สามารถ Retieve ข้อมูล จาก Dawa window นั้นได้โดยใช้ คำสั่งนี้ได้เลย
DwMain.Retrieve(“ตัวแปร”);

การ Insert ข้อมูล
DwMain.InsertRow(0);

//And then update data

การ Update ข้อมูล
DwMain.UpdateData();

หมายเหตุ ถ้าจะให้เซตค่าได้ update ค่าได้จากทางเว็บ ใน dw designer ก็ต้องเซต tab order ให้มีค่า (ไม่เป็น 0)



ดังกล่าวมานี้เป็นเพียงพื้นฐานเริ่มต้น  อยู่ที่นำไปประยุกต์ใช้ต่อไป ....
ป้ายกำกับ:
3 Responses
  1. หาที่ลงไม่เจอ เรื่องของการ ส่งข้อมูลในรูปแบบ XML โดยการ export ข้อมูลจาก DataWindow โดย DataWindow ที่เป็นตัวต้นทาง ห้ามมีการจัดทำ Group บน DataWindow โดยเด็ดขาด ไม่งั้นไม่สามารถ Import ข้อมูลไปยัง DataWindow ปลายทางได้ หมายเหตุ DataWindow ปลายทาง จะมี Group หรือไม่ก็ได้


  2. ความคิดเห็นนี้ถูกผู้เขียนลบ

  3. เพิ่มเติม จาก บทความก่อนหน้า
    * หากไม่สามารถ แก้ DataWindow ได้ เมื่อได้ข้อมูล ที่อยู่ในรูปแบบ XML แล้ว ให้ทำการ ลบคำที่มีการจัด Group ออกจาก file XML นั้น โดย Tag ชื่อ DataWindow แล้วตามด้วย "_group1" โดยทั้งหมดจะอยู่ภายใน Tag โดยจะมีคู่กัน Tag เปิด และ Tag ปิด หากมีมากว่า 1 Group ก็ตามหลังด้วย _group2,3,4 ต่อไปเรื่อยๆ จบครบทุก Group


แสดงความคิดเห็น

Related Posts Plugin for WordPress, Blogger...