Share via


FormListControl.copyItem(Int32, Int32) Method

Definition

Copies a specified item in a form list control.

public:
 virtual int copyItem(int _Item, int _InsertAt);
public virtual int copyItem (int _Item, int _InsertAt);
abstract member copyItem : int * int -> int
override this.copyItem : int * int -> int
Public Overridable Function copyItem (_Item As Integer, _InsertAt As Integer) As Integer

Parameters

_Item
Int32

An Integer data type that specifies the position in the list that the item is copied to.

_InsertAt
Int32

An Integer data type that specifies the position in the list that the item is copied to.

Returns

An Integer data type that specifies the position in the list that the item is copied to.

Remarks

To display columns in a form list control, call the FormListControl.viewType method, and then pass the FormListViewType::Report enumeration value.

The following example shows a call to the copyItem method to copy an item to the tenth position in the form list control. The FormListControl.getCount method returns the number of items in the control. The while select statement retrieves account numbers from the CustTable table and then stores the data in a container. The items in the variable are added to the form list control by calling the FormListControl.addItem method.

static void createForm2(Args _args) 
{ 
    Args args; 
    Form form; 
    FormRun formRun; 
    FormBuildDesign formBuildDesign; 
    FormBuildDataSource formBuildDataSource; 
    FormBuildListControl formBuildListControl; 
    FormListControl formListControl; 
    FormListItem formListItem; 
    FormListColumn formListColumn; 
    int idx4; 
    str string; 
    container conAccountNum; 
    DictTable dictTable; 
    CustTable custTable; 
    int numAccounts; 
    int i; 
    int item; 
    int numItems; 
    // Create the form header. 
    form = new Form(); 
    // Add data sources to the form. 
    dictTable = new DictTable(tableNum(custTable)); 
    formBuildDataSource = form.addDataSource(dictTable.name()); 
    formBuildDataSource.table(dictTable.id()); 
    // Create the form design. 
    formBuildDesign = form.addDesign("Design"); 
    formBuildDesign.caption("myForm"); 
    // Add a form list control. 
    formBuildListControl = 
 formBuildDesign.addControl(FormControlType::ListView,"List"); 
    idx4 = formBuildListControl.id(); 
    args = new Args(); 
    args.object(form); 
    // Create the run-time form. 
    formRun = classfactory.formRunClass(args); 
    formRun.run(); 
    formRun.detach(); 
    formListControl = formRun.control(idx4); 
    formListControl.viewType(FormListViewType::Report); 
    formListControl.height(120); 
    formListControl.widthMode(FormWidth::ColumnWidth); 
    // Add a column to the form list control. 
    formListControl.addColumn(1, new FormListColumn("Column1")); 
    // Add items to the form list control. 
    while select custTable 
        where custTable.AccountNum >= 
 "4000" && custTable.AccountNum <= "4040" 
    { 
        conAccountNum += [[custTable.AccountNum]]; 
    } 
    numAccounts = conlen(conAccountNum); 
    for(i = 1; i <= numAccounts; i++) 
    { 
        string = conPeek(conAccountNum,i); 
        formListItem = new FormListItem(string); 
        item = formListControl.addItem(formListItem); 
   } 
    formListControl.getCount(); 
    formListControl.copyItem(2,10); 
}

Applies to