ModalGridCustomizer¶
ModalGridCustomizer is the public, page-declarable composite control that lets end users customize an UltraWebGrid's column visibility and paging through a modal popup. It mediates between the target grid, an InfragisticsGridCustomizer (in-memory state), a GridCustomizationPanel (popup UI), and clsPreferences (persisted defaults), implementing Customize and apply grid column visibility and paging.
Purpose¶
- Renders a customize-grid icon that opens a
ModalPopupExtender-hostedGridCustomizationPanel, letting users select which columns are visible and (optionally) the grid's page size. - Resolves and lazily constructs the
InfragisticsGridCustomizerfor its target grid, wiring the popup's OK/Set-as-default actions to apply and optionally persist the resulting configuration. - Rebinds the target grid after customization according to a configurable
BindingBehavior(ObjectBinder,DataBind, orCustom).
Context¶
- Namespace:
SAIF.Presentation.Web.Controls.V2.AJAX - Assembly/package:
SAIF.Presentation.Web.Controls.AJAX.Infragistics103
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| ColumnVisiblity | Property ColumnVisiblity() As ColumnVisibilityOverride |
Configures the semicolon-delimited always-visible/always-hidden column key lists, enforcing BR-AJAX-002 |
| TargetControls | Property TargetControls() As TargetControlIDData |
Configures the target grid's ID, an optional linked refresh control, and the object-binder control ID |
| ControlPaging | Property ControlPaging() As Boolean |
Specifies whether this customizer manages the target grid's paging settings |
| BindingBehavior | Property BindingBehavior() As BindingBehaviors |
Selects how the target grid is rebound after customization: ObjectBinder, DataBind, or Custom |
| ControlImage | ReadOnly Property ControlImage() As Image |
The rendered customize-grid trigger icon |
| OnInitialize | Event OnInitialize() |
Raised during control initialization for host page hooks* |
| BindGrid | Event BindGrid() |
Raised when BindingBehavior = Custom, letting the hosting page's code-behind rebind the grid itself |
| ColumnVisibilityOverride.AlwaysVisibleColumns | Property AlwaysVisibleColumns() As String |
Semicolon-delimited list of columns that are always displayed and cannot be hidden by the user |
| ColumnVisibilityOverride.AlwaysHiddenColumns | Property AlwaysHiddenColumns() As String |
Semicolon-delimited list of columns that are always hidden and never shown to the user |
| TargetControlIDData.GridId | Property GridId() As String |
The ID of the UltraWebGrid this customizer manages |
| TargetControlIDData.LinkedRefreshControlID | Property LinkedRefreshControlID() As String |
Optional ID of a WARP refreshed when the user applies changes |
| TargetControlIDData.ObjectBinderId | Property ObjectBinderId() As String |
The page's object-binder control ID, used only when BindingBehavior = ObjectBinder |
Inherited public members¶
Members in this section are inherited from SAIFAJAXControlAncestor and, transitively, System.Web.UI.WebControls.CompositeControl in the .NET Framework Base Class Library. They are available on this type through inheritance.
| Member | Signature | Purpose | Origin |
|---|---|---|---|
| RootObject | Protected ReadOnly Property RootObject() As Object |
Lazily resolves and caches the page's "Model" object, used to resolve the model's GridCustomizers list |
SAIFAJAXControlAncestor |
| IsFirefox | Protected ReadOnly Property IsFirefox() As Boolean |
Indicates whether the requesting browser identifies itself as Firefox | SAIFAJAXControlAncestor |
| ID | Property ID As String |
The programmatic identifier assigned to this control instance | System.Web.dll — System.Web.UI.Control |
| Visible | Property Visible As Boolean |
Controls whether this control renders on the page | System.Web.dll — System.Web.UI.Control |
| CreateChildControls | Overridable Sub CreateChildControls() |
Builds this composite control's child control tree, including the trigger icon and popup extender | System.Web.dll — System.Web.UI.WebControls.CompositeControl |
| RenderContents | Overridable Sub RenderContents(writer As HtmlTextWriter) |
Renders this composite control's markup to the response stream | System.Web.dll — System.Web.UI.WebControls.CompositeControl |
Behavioral notes¶
TargetGridandObjectBinderproperty getters throwApplicationExceptionif the named grid/binder control cannot be resolved viaPage.FindControl.- The
GridCustomizergetter lazily either finds an existing customizer for the target grid in the model'sGridCustomizerslist, or constructs and registers a new one, per Customize and apply grid column visibility and paging.
Constraints and usage notes¶
- Requires
TargetControls.GridIdto reference an actualUltraWebGridcontrol on the same page. - When
BindingBehavior = ObjectBinder(the default), requires aclsObjectBindManagercontrol named perTargetControls.ObjectBinderId(default"objBinder") to be present on the page.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Presentation.Web.Controls.AJAX.Infragistics103\ModalGridCustomizer.vb