grid風格資料視窗與資料視窗之間傳遞資料
grid風格資料視窗傳到另一個資料視窗里面(格式樣式、資料)要一樣, 用什么方法實作。。??
最好能傳到復合風格子視窗里面。。。。請教??,,
我想做的用途是 列印預覽.....請教用什么方法傳..????
uj5u.com熱心網友回復:
sharedata或者rowscopy之類的函式,很簡單就能實作了uj5u.com熱心網友回復:
RowsCopy()功能:將一個資料視窗控制元件中指定的行復制到另一個資料視窗,或將資料視窗控制元件中
一個緩沖區的指定行復制到另一個緩沖區中。
語法:
dwcontrol.RowsCopy (startrow, endrow, copybuffer, targetdw, beforerow,targetbuffer )
引數:dwcontrol 資料視窗控制元件名
startrow long 型別指定要復制的資料行的起始行號
endrow long 型別指定要復制的資料行的終止行號
copybuffer dwBuffer 列舉型別,指定從哪個緩沖區中復制行。有效取值為
Primary! 主緩沖區
Delete! 洗掉緩沖區
Filter! 過濾緩沖區
targetdw :要把資料復制到的目的資料視窗名稱Targetdw 可以是與dwcontrol
相同的資料視窗控制元件,也可以是不同的資料視窗控制元件。
beforerow :long 型別,指定復制的資料行插入到哪一行前面如果要把資料插
入到最后一行后面那么使用大于目的資料視窗中資料行數的任何數字均可。
targetbuffer :dwBuffer 列舉型別指定復制的資料放置到目的資料視窗控制元件的
哪個緩沖區中有效取值為
Primary! 主緩沖區
Delete! 洗掉緩沖區
Filter! 過濾緩沖區
回傳值:Integer 函式執行成功時回傳1 發生錯誤時回傳-1 如果任何引數的值為
NULL ,則RowsCopy()函式回傳NULL。
用法:使用RowsCopy()函式把某些行復制到目的資料視窗控制元件的主緩沖區中之后這些
行的修改狀態為NewModified!。 此時如果應用程式使用Update()函式更新目的資料視窗
控制元件對應的表那么PowerBuilder 將對新插入的行生成SQL INSERT 陳述句并把這些SQL
INSERT 陳述句發送給資料庫管理系統。
使用RowsCopy()函式復制資料行時對目的資料視窗控制元件來說下拉資料視窗風格的
列中的資料并不會自動檢索出來應用程式必須對目的資料視窗中的這些列明確執行
Retrieve()函式。
RowsCopy()函式通常用于:
1復制一行或多行資料以便用戶根據現有資料生成新的資料。
2把一個資料視窗中某些行復制到另一個資料視窗然后通過列印第二個資料視窗
示例1: 下面的代碼把資料視窗dw_1 中當前行之后的所有行復制到第二個資料視窗
dw_2 的主緩沖區的起始位置:
dw_1.rowscopy(dw_1.getrow(),dw_!.rowcount(),primary!,dw_2,1,primary!)
示例2 :下面的代碼把資料視窗dw_1 中當前行之后的所有行復制到state_id 列的下拉
資料視窗的主緩沖區起始位置:
datawindowchild dwc
dw_3.getchild("state_id",dwc)
dw_1.rowcopy(dw_1.getrow(),dw_1.rowcount(),primary!,dwc,1,primary!)
示例3 :下面的代碼把資料視窗dw_1 中當前行之后的所有行復制到嵌套報表
d_employee 的主緩沖區的起始位置:
datawindowchild dwc
dw_composite.getchild("d_emplayee",dwc)
dw_1.rowscopy(dw_1.getrow(),dw_1,rowcount(),primary!,dwc,primary!)
uj5u.com熱心網友回復:
PowerBuilder中實作資料共享是通過函式ShareData()實作的。ShareData函式的語法為dwprimary.ShareData(dwsecondary).其中,dwprimary是指主資料視窗控制元件名,dwsecondary是指從資料視窗控制元件名。該函式的回傳值是Integer型別。函式成功執行時回傳1,發生錯誤時寒暑假回傳-1.實作資料共享的3個條件如下:
1、選擇欄位的數目相同;
2、選擇欄位的資料型別相同;
3、選擇欄位的排列順序相同;
具體實作資料共享步驟如下:
1、建立若干個資料視窗物件,并讓它們同時操縱同一個表,同時要求主資料視窗與從資料視窗物件的列必須相同,但各自使用的select陳述句可以不一樣。
2、建立一個資料視窗,并在此資料視窗上創建若干個資料視窗控制元件,分別為它們指定相應的資料視窗物件。
3、選定其中一個資料視窗控制元件為主資料視窗控制元件,其余為從資料視窗控制元件,在主資料視窗的open事件中撰寫代碼,用ShareData()函式來實作主從資料視窗資料緩沖區的共享。
要終止資料視窗之間的資料共享,可以呼叫ShareDataOff()函式。終止了資料共享后,從資料視窗中的資料將消失。需要說明的是,在多數情況下可以不必關閉資料共享,因為當一個視窗被關倍訓任何與資料共享有關的Datawindow控制元件被洗掉時,資料共享會自動關閉。
uj5u.com熱心網友回復:
GetFullStateSetFullState
uj5u.com熱心網友回復:
正解
uj5u.com熱心網友回復:
sharedata,簡單轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14751.html
標籤:DataWindow
