2012-07-11 71 views
2

我正在構建一個工具,可以從輸入中輸出某些信息。PowerBuilder數據窗口

我有這個自由形式的數據窗口與文本框和一個按鈕(button_1)。假設我有一個窗口按鈕[ADD],點擊時會觸發dw_1.InsertRow(0)

文本框和按鈕(button_1)將根據單擊ADD按鈕的次數相乘。

我打算在自由格式的DataWindow中添加另一個DataWindow,以便當button_1被點擊到它所在的行時。將調用該DataWindow中的dw_2.InsertRow(0),該dw_2 DataWindow具有自己的文本框,並且可以在其中包含多行。

這可能嗎?如果是,我該如何做,如果沒有,你能推薦一種方法,我該如何做到這一點。

回答

2

理論上,您可以在DataWindow控件(例如窗口或用戶對象畫布中)中編寫一個ButtonClicked事件,但根據我所知,將這個路徑發送給您並不是您真正想要的。您不能在嵌套的DataWindow中編輯數據,因此插入行的按鈕可能毫無意義。

目前尚不清楚爲什麼你要在一個DataWindow中做到這一點,但我建議在單個窗口(或用戶對象)上的兩個DataWindows中執行此操作,這可能會導致您使用常規的commandbutton控件該窗口而不是在DataWindow中。

祝你好運,

特里。

1

您可以使用計算字段(不直接更新數據庫)或使用額外的列和某個腳本來完成此操作。

如果使用計算字段,表達式將

CumulativeSum (1 for all) 

這將排號基本上添加到每一行。如果您需要非線性或非連續編號,您可以對此進行擴展。

如果您需要使用腳本,請在調用InsertRow()後立即添加數學和SetItem()語句。如果您在「插入行(12)」的操作下使用數據窗口按鈕,則將其改爲「用戶定義的(0)」,如Terry所述,將腳本放入DataWindow的ButtonClicked事件中。

相關問題