Hi Arnaud,
1) Issue
- Requirement to extend the standard Project Operations subgrid control "MscrmControls.EstimatesGridControls.EstimatesGridControl"
- End-Customer needs an additional column "Day" next to the standard "Unit = Hour" column in Time Phased Estimates
- The control is a native Microsoft UI component and no source code is accessible
- Standard customization options do not allow modifying the control structure
- Rebuilding the entire control would be complex and not desired
2) Reason
- The limitation is caused by the control being a sealed standard PCF (PowerApps Component Framework) control provided by Microsoft
- Microsoft does not expose the source code for built-in controls such as EstimatesGridControl
- These controls are not extensible at the column or rendering level (no support for partial extension)
- This leads to a situation where adding a column inside the control is not possible via configuration or extension
- The control rendering and behavior are fully managed internally and cannot be modified by extensions
- This can happen because Microsoft ships these controls as compiled PCF components with fixed metadata and layout
3) Resolution
- There is no supported way to directly extend or inject a new column into the standard EstimatesGridControl
Option 1 (Best practice)
- Create a custom PCF control (replacement grid)
Rebuild only the required subset of functionality:
- Display required columns (including "Day")
- Bind to the same Dataverse table
- Use PCF dataset control for grid rendering
- This allows full control over layout and calculation logic
Option 2
- Add a calculated field "Day" on the entity (e.g. convert Hours → Days)
- Display this field outside the grid:
- As a separate column in another grid or view
- Or in a side panel / form section
- This avoids modifying the standard control
Option 3
- Use Power Apps customization:
- Create a custom page or embedded canvas app
- Replicate the grid and include both Hour and Day fields
- Use as an alternative UI for users
Option 4 (Limited workaround)
- If "Day" = derived value:
- Add it as a calculated or virtual field
- Try to include it in the underlying view
- However this will NOT appear in EstimatesGridControl (only works in normal grids)
Not supported approaches
- Extending MscrmControls.EstimatesGridControls directly
- Injecting JavaScript or DOM modifications into the control
- Modifying control metadata via solutions
- Accessing or editing Microsoft PCF source code
Design recommendation
- Treat standard Project Operations controls as black boxes
- Build extensions around them, not inside them
- Only replace them if business requirement is critical
Key takeaway
- The EstimatesGridControl cannot be extended at column level
- The only viable solutions are:
- Replace it with a custom PCF grid
- Or surface the additional data outside the control
- Full customization requires building a new control rather than modifying the existing one
For a more detailed answer, please provide more information.
Rg,
Alexander
*Due to the complex and different possibilities of deploying Dynamics 365 I highly recommend not to setup the application without some expert/partner or support. (For more information contact me under anassl@inno-solutions.info or visit www.inno-solutions.de)
*The Information comes directly from the manufacturer or provider and are validated (not guaranteed) up to date of creation of the posting.
References:
- Microsoft Licensing Guide
- Microsoft Doc`s/Learn
Was this reply helpful?YesNo