From 422eb693da395056f7aaba594be15bcc6b103bf2 Mon Sep 17 00:00:00 2001
From: xue <>
Date: Thu, 26 Jan 2006 05:29:54 +0000
Subject: Added databinding and validation demos to TCheckBoxList and
TRadioButtonList.
---
.../pages/Controls/Samples/TCheckBoxList/Home.page | 72 ++++++++++++++++++++++
.../pages/Controls/Samples/TCheckBoxList/Home.php | 66 +++++++++++++++-----
2 files changed, 122 insertions(+), 16 deletions(-)
(limited to 'demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList')
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.page
index bc750cb8..00670343 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.page
@@ -133,4 +133,76 @@ Auto postback check box list:
+
+
+
Checkbox Lists with DataBinding
+
+
+
+
+
+Databind to an integer-indexed array:
+ |
+
+
+
+ |
+
+
+
+
+Databind to an associative array:
+ |
+
+
+
+ |
+
+
+
+
+Databind with DataTextField and DataValueField specified:
+ |
+
+
+
+ |
+
+
+
+
+
+CheckBox List with Validation
+
+
+
+
+
+CheckBox list causing validation:
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
\ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.php b/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.php
index 3873ca30..08c6f3ca 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.php
+++ b/demos/quickstart/protected/pages/Controls/Samples/TCheckBoxList/Home.php
@@ -2,35 +2,69 @@
class Home extends TPage
{
- public function buttonClicked($sender,$param)
+ public function onLoad($param)
{
- $indices=$this->CheckBoxList->SelectedIndices;
- $result='';
- foreach($indices as $index)
+ parent::onLoad($param);
+ if(!$this->IsPostBack)
{
- $item=$this->CheckBoxList->Items[$index];
- $result.="(Index: $index, Value: $item->Value, Text: $item->Text)\n";
+ $data=array('item 1','item 2','item 3','item 4');
+ $this->DBCheckBoxList1->DataSource=$data;
+ $this->DBCheckBoxList1->dataBind();
+
+ $data=array('key 1'=>'item 1','key 2'=>'item 2',
+ 'key 3'=>'item 3','key 4'=>'item 4');
+ $this->DBCheckBoxList2->DataSource=$data;
+ $this->DBCheckBoxList2->dataBind();
+
+ $data=array(
+ array('id'=>'001','name'=>'John','age'=>31),
+ array('id'=>'002','name'=>'Mary','age'=>30),
+ array('id'=>'003','name'=>'Cary','age'=>20));
+ $this->DBCheckBoxList3->DataSource=$data;
+ $this->DBCheckBoxList3->dataBind();
}
- if($result==='')
- $this->SelectionResult->Text='Your selection is empty.';
- else
- $this->SelectionResult->Text='Your selection is: '.$result;
}
- public function selectionChanged($sender,$param)
+ protected function collectSelectionResult($input,$output)
{
- $indices=$sender->SelectedIndices;
+ $indices=$input->SelectedIndices;
$result='';
foreach($indices as $index)
{
- $item=$sender->Items[$index];
- $result.="(Index: $index, Value: $item->Value, Text: $item->Text)\n";
+ $item=$input->Items[$index];
+ $result.="(Index: $index, Value: $item->Value, Text: $item->Text)";
}
if($result==='')
- $this->SelectionResult2->Text='Your selection is empty.';
+ $output->Text='Your selection is empty.';
else
- $this->SelectionResult2->Text='Your selection is: '.$result;
+ $output->Text='Your selection is: '.$result;
+ }
+
+ public function buttonClicked($sender,$param)
+ {
+ $this->collectSelectionResult($this->CheckBoxList,$this->SelectionResult);
+ }
+
+ public function selectionChanged($sender,$param)
+ {
+ $this->collectSelectionResult($sender,$this->SelectionResult2);
}
+
+ public function DBCheckBoxList1Changed($sender,$param)
+ {
+ $this->collectSelectionResult($sender,$this->DBCheckBoxList1Result);
+ }
+
+ public function DBCheckBoxList2Changed($sender,$param)
+ {
+ $this->collectSelectionResult($sender,$this->DBCheckBoxList2Result);
+ }
+
+ public function DBCheckBoxList3Changed($sender,$param)
+ {
+ $this->collectSelectionResult($sender,$this->DBCheckBoxList3Result);
+ }
+
}
?>
\ No newline at end of file
--
cgit v1.2.3