From f4c525abc3d4d3f3eecf1019770936e4ca39fd62 Mon Sep 17 00:00:00 2001 From: xue <> Date: Fri, 9 Feb 2007 22:48:31 +0000 Subject: added two item renderer demos. --- .gitattributes | 6 +++ .../protected/pages/Controls/Repeater.page | 13 +++++- .../Controls/Samples/TRepeater/RegionDisplay.php | 28 ++++++++++++ .../Controls/Samples/TRepeater/RegionDisplay.tpl | 34 ++++++++++++++ .../pages/Controls/Samples/TRepeater/Sample1.page | 20 ++++----- .../pages/Controls/Samples/TRepeater/Sample2.page | 8 ++-- .../pages/Controls/Samples/TRepeater/Sample2.php | 6 ++- .../pages/Controls/Samples/TRepeater/Sample3.page | 16 +++---- .../pages/Controls/Samples/TRepeater/Sample4.page | 27 +++++++++++ .../pages/Controls/Samples/TRepeater/Sample4.php | 37 +++++++++++++++ .../pages/Controls/Samples/TRepeater/Sample5.page | 18 ++++++++ .../pages/Controls/Samples/TRepeater/Sample5.php | 52 ++++++++++++++++++++++ framework/Web/UI/WebControls/THyperLink.php | 36 +++++++++++++-- 13 files changed, 272 insertions(+), 29 deletions(-) create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/RegionDisplay.php create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/RegionDisplay.tpl create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample4.page create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample4.php create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample5.page create mode 100644 demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample5.php diff --git a/.gitattributes b/.gitattributes index 148ed720..dfb8291c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1098,12 +1098,18 @@ demos/quickstart/protected/pages/Controls/Samples/TRangeValidator/Home.page -tex demos/quickstart/protected/pages/Controls/Samples/TRangeValidator/Home.php -text demos/quickstart/protected/pages/Controls/Samples/TRegularExpressionValidator/Home.page -text demos/quickstart/protected/pages/Controls/Samples/TRegularExpressionValidator/Home.php -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/RegionDisplay.php -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/RegionDisplay.tpl -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.php -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.php -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page -text demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.php -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample4.page -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample4.php -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample5.page -text +demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample5.php -text demos/quickstart/protected/pages/Controls/Samples/TRequiredFieldValidator/Home.page -text demos/quickstart/protected/pages/Controls/Samples/TRequiredFieldValidator/Home.php -text demos/quickstart/protected/pages/Controls/Samples/TSafeHtml/Home.page -text diff --git a/demos/quickstart/protected/pages/Controls/Repeater.page b/demos/quickstart/protected/pages/Controls/Repeater.page index 69c6cdba..1e2ac881 100644 --- a/demos/quickstart/protected/pages/Controls/Repeater.page +++ b/demos/quickstart/protected/pages/Controls/Repeater.page @@ -11,7 +11,7 @@ The layout of the repeated contents are specified by inline templates. In partic
-Since v3.1.0, the layout can also be specified by renderers. A renderer is a control class that can be instantiated as repeater items, header, etc. A renderer can thus be viewed as an external template (in fact, it can also be non-templated controls). A renderer can be any control class. If implemented with one of the following interfaces, a renderer will be initialized with additional properties relevant to the repeater items: +Since v3.1.0, the layout can also be specified by renderers. A renderer is a control class that can be instantiated as repeater items, header, etc. A renderer can thus be viewed as an external template (in fact, it can also be non-templated controls). A renderer can be any control class. By using item renderers, one can avoid writing long and messy templates. Since a renderer is a class, it also helps reusing templates that previously might be embedded within other templates. If implemented with one of the following interfaces, a renderer will be initialized with additional properties relevant to the repeater items:
+This sample shows how to use "drop-in" item renderers, available since v3.1.0. These renderers come in the PRADO release. They are essentially controls implementing the IDataRenderer interface. Common Web controls, such as TTextBox, TLabel, all implement this interface. When such controls are used item renderers, their Data property is assigned with the row of the data being bound to the repeater item. +
++More often, one needs to customize the layout of repeater items. The sample above relies on OnItemCreated to adjust the appearance of the renderer. Templated item renderers are perferred in this situation, as they allow us to put in more complex layout and content in a repeater item. The following sample reimplements the nested repeater sample using a templated item renderer called RegionDisplay. As we can see, the new code is much easier to understand and maintain. +
+Please enter the URL of your favorite websites in the following:
+