📘
TimeLine E3
  • TimeLine E3 Documentation
  • Framework
    • Introduction
    • DataSet Definition
    • Window Handling Object
      • Input/Output arguments
      • Open
      • BindDataControls
      • Item Changes
      • Item Search
      • MenuItemClicked
      • Print
      • ModuleOpened (BlueArrow)
      • BlueArrowArguments
      • New Row
      • Delete Row
      • Save
      • Transactions
      • Locking [deprecated]
      • Locking (new)
      • Resizing a response window
      • ParaPanel
      • Adding DMS Tab to a Module
    • BusinessObject
    • Controls
      • BindingFormat
      • LookupGrid and SearchDef
      • ComboBox
      • RadioButton
      • Multiline Textbox
      • xTextBoxSearch
      • xFileBrowse [v16+]
      • DxDispoColumn
      • DxProgressColumn
      • DxTemplateColumn
      • Change control caption programmatically
      • TabControl
      • Navigation
      • Enable controls programmatically
      • Enable a MenuItem programmatically
      • Filter search values
      • Jumping to another module
      • Messages, Notifications, Log, Exceptions, Translation
      • LoggerSink [deprecated]
      • Log
      • OpenFile, FolderBrowsing and SaveFile
      • Execute Actions while displaying an Hourglass
      • Using Progress
      • Async methods with progress bar
      • Wizard
      • Customizing controls using xBehaviors
      • TLProperty.AllowInReadOnly [v16+]
    • DataSet Operations
    • Business-related functionality
      • Getting the next primary key
      • Hybrids
      • Enums
      • Get Current User
    • SQL
    • SQL (using named parameters)
    • Advanced SQL
    • Expression Binding
    • Server-side logic & customization [v16+]
      • Service Hoster
      • Starting / stopping hosted services
      • Changes to scheduled jobs!
      • Business Object Proxies
      • Business Object API
    • Colors in Expression Bindings [v15+]
    • Theming
      • Icons
  • TimeLine Developer (TLD)
    • Debugging in TLD
    • Targets
    • Custom Project Rework [v16+]
  • TimeLine-specific LL functions
  • Stunnel proxy
    • Pre-requisites
    • 1. Initial setup
    • 2. Generate the server/web certificates
    • 3.a. Generating client certificates using the CSR flow
    • 3.b. Generate client certificates from the server console
    • 4. Setting up the E3 client connection
    • 5. Setting up the browser certificates
  • Configuration
    • Configuring the WCF timeout
  • Troubleshooting the E3 Bridge
  • [Deprecated]
    • TimeLine WEB - deprecated in v16+
      • Prerequisites for running the WASM modules on the server
      • Prerequisites for developing WASM modules with TLD
      • Creating a small web module with TLD
      • Terminal Configuration
    • Customization Examples - deprecated in v16+
    • Codestore [deprecated]
    • Configuring the scheduled jobs timeout - deprecated in v16+
Powered by GitBook
On this page
  • Opening
  • Opened
  • PostOpen
  1. Framework
  2. Window Handling Object

Open

Opening

Used to initialize data, does not work with visual controls.

The method is followed by Opened()

public override bool Opening()
{
    // at this moment, a user's permission to open the module could be denied
    
    rmView = new dsRmView();
    rmView.Material.Table.Columns.Add("rueckm_material", typeof(DataRowView));
    rmView.Fertigartikel.Table.Columns.Add("rueckm_fertigartikel", typeof(DataRowView));
    
    // the BusinessObject is created after the execution of:
    return base.Opening();
}

Opened

Used for visual initializations.

The module is loaded, but not displayed yet. The method is followed by PostOpen()

public override void Opened()
{
    base.Opened();
    
    // Retrieve data; 
    BusObj.DataSetRetrieved += (sender, e) 
        => Bind();

    // set DataSource for controals
    Bind();
    
    // visual initializations
    dgMaterialFertigCsnr.ShownEditor += (sender, e) 
        => this.InvokeOnMainThreadWithDelay(RefreshMaterialFertigCsnrFilter);
    
    dgMaterialBadge.BadgeClicked += (sender, e) 
        => OpenMaterialDetails();
    dgFertigArtikelBadge.BadgeClicked += (sender, e) 
        => OpenFertigartikelDetails();
    
   // create new row in the DataSet
    NewKopf();
}

Best practice: when opening a module, create a new row in the DataSet; otherwise we edit a non-existent row and the changes cannot be saved

PostOpen

Is the place where we can set focus

The module is loaded and displayed.

public override void PostOpen()
{
    base.PostOpen();
    FocusFirstEditableField();
}
public virtual void FocusFirstEditableField()
{
    tbsBetriebsauftrag.Focus();
}
PreviousInput/Output argumentsNextBindDataControls

Last updated 3 years ago