Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Create Forms by Using Code

Use forms to display data to users. Create a form by using the FormRun and Form classes, and a variety of other classes that modify the form design and data source.

You can also create a form by using the Application Object Tree (AOT). For more information, see Create Forms by Using the AOT.

The following example creates a form to display data that is contained in the CustTable table. Place the code into a method that is called from a main class method to view the form. The signature of a main method is static void main (Args args).

Following is information about the roles of the example's various methods and objects.

The following adds the CustTable table to the form:

The following creates and modifies the form's design:

The following objects add the tab page controls, a grid control, and string controls to the form:

The following method associates data fields with the grid control:

The following method associates data fields with the string controls:

The following method displays the form:

static void createForm(Args _args)
{
    Args args;
    Form form;
    FormRun formRun;
    FormBuildDesign formBuildDesign;
    FormBuildDataSource formBuildDataSource;
    FormBuildGridControl formBuildGridControl;
    FormBuildStringControl formBuildStringControl;
    FormBuildStringControl formBuildStringControl2;
    FormBuildTabControl formBuildTabControl;
    FormBuildTabPageControl formBuildTabPageControl;
    FormBuildTabPageControl formBuildTabPageControl2;
    FormStringControl formStringControl;
    FormGridControl formGridControl;
    DictTable dictTable;
    int idx;
    int idx2;
    int idx3;

    ;

    // Create the form header.
    form = new Form();

    // Add a data source to the form. ID 77 refers to the CustTable.
    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 tabbed page controls, a grid control, and string controls.
    formBuildTabControl =
 formBuildDesign.addControl(FormControlType::Tab, "Overview");
    
    formBuildTabPageControl =
 formBuildTabControl.addControl(FormControlType::TabPage, "Overview");
    formBuildTabPageControl.caption("Overview");
    
    formBuildTabPageControl2 =
 formBuildTabControl.addControl(FormControlType::TabPage,"Details");
    formBuildTabPageControl2.caption("Details");
    
    formBuildGridControl =
 formBuildTabPageControl.addControl(FormControlType::Grid,"Table Grid");
    formBuildStringControl =
 formBuildTabPageControl2.addControl(FormControlType::String,"Table String");
    formBuildStringControl2 =
 formBuildTabPageControl2.addControl(FormControlType::String,"Table String");

    // Add data fields to controls.
    formBuildGridControl.addDataField
(formBuildDataSource.id(),dictTable.fieldName2Id("AccountNum"));
    formBuildGridControl.addDataField
(formBuildDataSource.id(),dictTable.fieldName2Id("Phone"));
    formBuildGridControl.addDataField
(formBuildDataSource.id(),dictTable.fieldName2Id("Name"));
    formBuildGridControl.addDataField
(formBuildDataSource.id(),dictTable.fieldName2Id("Address"));
    formBuildStringControl.dataSource(formBuildDataSource.id());
    formBuildStringControl.dataField(2);
    formBuildStringControl2.dataSource(formBuildDataSource.id());
    formBuildStringControl2.dataField(3);

    args = new Args();
    args.object(form);

    // Create the run-time form.
    formRun = classfactory.formRunClass(args);

    formRun.run();
    formRun.detach();
}

Community Additions

ADD
Show:
© 2015 Microsoft