Skip to content

ALTER PAGE … SET PageSize fails with "pluggable property not found" on a DataGrid 2 that CREATE accepted the same property on #1069

Description

@MendixMau

Summary

The create path and the alter path resolve pluggable-widget property names from different
tables.

create or modify page accepts PageSize: 20 on a datagrid widget and writes it — the grid
demonstrably paginates at 20 in the running app. ALTER PAGE rejects the same property name on
the same widget:

alter page Common.RunRegister { set PageSize = 10 on dgApprovalRuns };
→ Error: failed to set: failed to set PageSize on dgApprovalRuns:
  pluggable property "PageSize" not found

mxcli check --references passes the script clean. The failure appears only at exec.

Environment

  • mxcli v0.20.0
  • Mendix 11.13.0
  • Linux container

Aggravating factors

  1. mxcli is not transactional across statements. The failing set aborted the script, so a
    second, unrelated statement behind it (a dynamictext Content change on a different page)
    never applied. A one-line property tweak leaves a two-page script half-done.
  2. DESCRIBE PAGE does not round-trip PageSize at all — the property is absent from the
    dump — so the current value cannot be read back out of the model to confirm what was set.

Impact

The workaround is to re-emit the entire page with create or modify page, changing only the one
value. On this project that turned a two-value edit into a 190-line script, and re-emitting a
page wholesale carries its own risk of drift against whatever else has touched it since.

Expected

ALTER PAGE … SET <prop> accepts every property create … (<prop>: …) accepts on the same
widget type. Failing that, check --references should reject the unknown property so the failure
is caught before the model is touched.

Related

MDL-WIDGET16 (DataGrid 2 stores no column names, so ALTER PAGE must address columns by derived
name). Same underlying cause: the DG2 pluggable-property surface exposed on create is not the
surface exposed on alter.

#414 covers the general case (SET reaching only DynamicText/Content and reporting property not found for other widget properties); this is the DataGrid 2 PageSize instance of it, where CREATE accepts the very property ALTER rejects.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions