Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <apex:component controller="componentController">
  2. <apex:attribute name="value" type="String" description="Sample component." assignTo="{!selectedValue}"/>
  3. <p>
  4. Value = {!value}<br/>
  5. selectedValue = {!selectedValue}<br/>
  6. </p>
  7.  
  8. <apex:dynamiccomponent componentvalue="{!dynamicControls}" />
  9.  
  10. </apex:component>
  11.  
  12. public class componentController {
  13. public String selectedValue {
  14. get {
  15. System.debug(LoggingLevel.Debug, 'componentController.selectedValue get: ' + selectedValue);
  16. return selectedValue;
  17. }
  18. set {
  19. System.debug(LoggingLevel.Debug, 'componentController.selectedValue set: ' + value);
  20. selectedValue = value;
  21. }
  22. }
  23.  
  24. public componentController() {
  25. System.debug(LoggingLevel.Debug, 'componentController constructor called.');
  26. }
  27.  
  28. public Component.Apex.PageBlockSection getDynamicControls() {
  29.  
  30. System.debug(LoggingLevel.Debug, 'componentController.getDynamicControls() called.');
  31.  
  32. Component.Apex.PageBlockSection pbSection = new Component.Apex.PageBlockSection();
  33. pbSection.title='Custom Controls';
  34. pbSection.showHeader = true;
  35. pbSection.columns = 2;
  36.  
  37. Component.Apex.OutputText test = new Component.Apex.OutputText(value='Dyanmic Component selectedValue:' + selectedValue);
  38. pbSection.childComponents.add(test);
  39.  
  40. return pbSection;
  41. }
  42. }
  43.  
  44. <apex:page>
  45. <apex:messages />
  46. <apex:pageBlock title="Component page block">
  47. <c:editMode value="foo"/>
  48. </apex:pageBlock>
  49. </apex:page>
  50.  
  51. public class componentController {
  52. public String selectedValue {
  53. get {
  54. System.debug(LoggingLevel.Debug, 'componentController.selectedValue get: ' + selectedValue);
  55. return selectedValue;
  56. }
  57. set {
  58. System.debug(LoggingLevel.Debug, 'componentController.selectedValue set: ' + value);
  59. selectedValue = value;
  60. }
  61. }
  62.  
  63. public componentController() {
  64. System.debug(LoggingLevel.Debug, 'componentController constructor called.');
  65. }
  66.  
  67. public Component.Apex.PageBlockSection getDynamicControls() {
  68.  
  69. System.debug(LoggingLevel.Debug, 'componentController.getDynamicControls() called.');
  70.  
  71. Component.Apex.PageBlockSection pbSection = new Component.Apex.PageBlockSection();
  72. pbSection.title='Custom Controls';
  73. pbSection.showHeader = true;
  74. pbSection.columns = 2;
  75.  
  76. Component.Apex.OutputText test = new Component.Apex.OutputText();
  77. // Modified here to use expressions to bind to the property set by an attribute
  78. test.expressions.value = '{!selectedValue} Test';
  79. pbSection.childComponents.add(test);
  80.  
  81. return pbSection;
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement