Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <apex:component controller="componentController">
- <apex:attribute name="value" type="String" description="Sample component." assignTo="{!selectedValue}"/>
- <p>
- Value = {!value}<br/>
- selectedValue = {!selectedValue}<br/>
- </p>
- <apex:dynamiccomponent componentvalue="{!dynamicControls}" />
- </apex:component>
- public class componentController {
- public String selectedValue {
- get {
- System.debug(LoggingLevel.Debug, 'componentController.selectedValue get: ' + selectedValue);
- return selectedValue;
- }
- set {
- System.debug(LoggingLevel.Debug, 'componentController.selectedValue set: ' + value);
- selectedValue = value;
- }
- }
- public componentController() {
- System.debug(LoggingLevel.Debug, 'componentController constructor called.');
- }
- public Component.Apex.PageBlockSection getDynamicControls() {
- System.debug(LoggingLevel.Debug, 'componentController.getDynamicControls() called.');
- Component.Apex.PageBlockSection pbSection = new Component.Apex.PageBlockSection();
- pbSection.title='Custom Controls';
- pbSection.showHeader = true;
- pbSection.columns = 2;
- Component.Apex.OutputText test = new Component.Apex.OutputText(value='Dyanmic Component selectedValue:' + selectedValue);
- pbSection.childComponents.add(test);
- return pbSection;
- }
- }
- <apex:page>
- <apex:messages />
- <apex:pageBlock title="Component page block">
- <c:editMode value="foo"/>
- </apex:pageBlock>
- </apex:page>
- public class componentController {
- public String selectedValue {
- get {
- System.debug(LoggingLevel.Debug, 'componentController.selectedValue get: ' + selectedValue);
- return selectedValue;
- }
- set {
- System.debug(LoggingLevel.Debug, 'componentController.selectedValue set: ' + value);
- selectedValue = value;
- }
- }
- public componentController() {
- System.debug(LoggingLevel.Debug, 'componentController constructor called.');
- }
- public Component.Apex.PageBlockSection getDynamicControls() {
- System.debug(LoggingLevel.Debug, 'componentController.getDynamicControls() called.');
- Component.Apex.PageBlockSection pbSection = new Component.Apex.PageBlockSection();
- pbSection.title='Custom Controls';
- pbSection.showHeader = true;
- pbSection.columns = 2;
- Component.Apex.OutputText test = new Component.Apex.OutputText();
- // Modified here to use expressions to bind to the property set by an attribute
- test.expressions.value = '{!selectedValue} Test';
- pbSection.childComponents.add(test);
- return pbSection;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement