|
of_getargs
|
|
Full name
|
pfc_u_tv.of_getargs
|
Access
|
public
|
Extend of
|
integer
|
Return value
|
integer
|
Prototype
|
public function integer of_getargs(long,integer,ref any[20])
|
Name
|
Datatype
|
ld_Arg
|
Date
|
ldb_Arg
|
Double
|
ldc_Arg
|
Decimal
|
ldt_Arg
|
DateTime
|
li_ArgIndex
|
Integer
|
li_ArgItem
|
Integer
|
li_Cnt
|
Integer
|
li_Cnt2
|
Integer
|
li_Index
|
Integer
|
li_Limit
|
Integer
|
li_RetrieveArgLevel
|
Integer[]
|
ll_Arg
|
Long
|
ll_row
|
Long
|
ls_Arg
|
String
|
ls_ArgCol
|
String
|
ls_RetrieveArgColumn
|
String[]
|
lt_Arg
|
Time
|
ltvi_Item
|
TreeViewItem
|
public function integer of_getargs (long al_parent, integer ai_level, ref any aa_arg[20]);//////////////////////////////////////////////////////////////////////////////
//
// Function: of_GetArgs
//
// Access: public
//
// Arguments:
// al_Parent The handle of the parent of the current TreeView item
// ai_Level The current TreeView level.
// aa_Arg[20] An array of type Any that will contain the retrieval
// argument values. Passed by reference.
//
// Returns: Integer
// Returns 1 if the for success, -1 if an error occurrs.
//
// Description: Get the values for the retrieval arguments for a level of the TreeView
//
//////////////////////////////////////////////////////////////////////////////
//
// Revision History
//
// Version
// 5.0 Initial version
// 7.0 Changed the li_row datatype to long (ll_row)
//
//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1996-1999 Sybase, Inc. and its subsidiaries. All rights reserved.
// Any distribution of the PowerBuilder Foundation Classes (PFC)
// source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////
Integer li_Limit, li_Cnt, li_Cnt2, li_ArgItem, li_Index, &
li_ArgIndex, li_RetrieveArgLevel[]
Long ll_row
String ls_ArgCol, ls_Arg, ls_RetrieveArgColumn[]
Long ll_Arg
Double ldb_Arg
Decimal ldc_Arg
Date ld_Arg
DateTime ldt_Arg
Time lt_Arg
TreeViewItem ltvi_Item
// Determine if the level is recursive
If ai_Level > UpperBound(inv_ds) Then
li_Index = UpperBound(inv_ds)
Else
li_Index = ai_Level
End If
of_ParseArgs(inv_ds[li_Index].s_RetrieveArgs, ai_Level, li_RetrieveArgLevel, ls_RetrieveArgColumn)
li_Limit = UpperBound(li_RetrieveArgLevel)
For li_Cnt = (ai_Level - 1) To 1 Step - 1
If This.GetItem(al_Parent, ltvi_Item) = -1 Then Return -1
// Determine if there an argument is needed from this level
For li_Cnt2 = 1 To li_Limit
If li_RetrieveArgLevel[li_Cnt2] = li_Cnt Then
li_ArgItem = li_Cnt2
// Determine the proper DataStore to use (in case the level is recursive)
If li_Cnt > li_Index Then
li_ArgIndex = li_Index
Else
li_ArgIndex = li_Cnt
End If
ls_ArgCol = ls_RetrieveArgColumn[li_ArgItem]
// Find proper row in datastore
ll_Row = inv_ds[li_ArgIndex].ds_obj.Find("pfc_tvi_key = '" + String(ltvi_Item.Data) + "'", &
1, inv_ds[li_ArgIndex].ds_obj.RowCount())
If ll_Row <= 0 Then Return -1
// Cast the value into the proper data type
Choose Case Left(inv_ds[li_ArgIndex].ds_obj.Describe(ls_ArgCol + ".coltype"), 7)
Case "integer", "long"
ll_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemNumber(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ll_Arg
Case "double", "number"
ldb_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemNumber(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ldb_Arg
Case "decimal"
ldc_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemDecimal(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ldc_Arg
Case "date"
ld_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemDate(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ld_Arg
Case "time"
lt_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemTime(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = lt_Arg
Case "datetim"
ldt_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemDateTime(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ldt_Arg
Case Else
ls_Arg = inv_ds[li_ArgIndex].ds_obj.GetItemString(ll_Row, ls_ArgCol)
aa_Arg[li_ArgItem] = ls_Arg
End Choose
End If
Next
If li_Cnt > 1 Then
// Move up one level
al_Parent = This.FindItem(ParentTreeItem!, al_Parent)
If al_Parent = -1 Then Return -1
End If
Next
Return 1
end function
Name
|
Owner
|
treeview.finditem |
treeview
|
treeview.getitem |
treeview
|
datastore.describe |
datastore
|
datastore.find |
datastore
|
datastore.getitemdate |
datastore
|
datastore.getitemdatetime |
datastore
|
datastore.getitemdecimal |
datastore
|
datastore.getitemnumber |
datastore
|
datastore.getitemstring |
datastore
|
datastore.getitemtime |
datastore
|
datastore.rowcount |
datastore
|
systemfunctions.left |
systemfunctions
|
systemfunctions.string |
systemfunctions
|
systemfunctions.upperbound |
systemfunctions
|
pfc_u_tv.of_ParseArgs |
pfc_u_tv
|