> For the complete documentation index, see [llms.txt](https://muradkarakas.gitbook.io/sodium_documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://muradkarakas.gitbook.io/sodium_documentation/language-reference/built-in-triggers/page_load-trigger.md).

# "page\_load" trigger

#### Description

`page_load` trigger function is optional. if it is needed, must be in [Code Behind File](/sodium_documentation/language-reference/program-structure/code-behind-file.md).\
&#x20;For each [Form File](/sodium_documentation/language-reference/program-structure/form-file.md) request, `page_load` trigger function has been executed once.

In `page_load` trigger function:

* All Sodium elements defined in form file,
* Functions and variables defined in code behind and controller file are available/accessible.

**Declaration**

```
void page_load();
```

#### **Example**

```
void page_load() {
        rsSchemaOwners =        select owner as label, owner as value
                                                from all_objects s
                                                group by  owner;
        populate_datalist('schemas', rsSchemaOwners);
 
        rsObjectTypes  =        select owner as schema_name, object_type as label, object_type as value
                                                from all_objects
                                                group by owner, object_type;
        populate_datalist('object_types', rsObjectTypes);
}

```

#### **See also**
