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 +++++++++++++++----- .../Controls/Samples/TRadioButtonList/Home.page | 72 ++++++++++++++++++++++ .../Controls/Samples/TRadioButtonList/Home.php | 63 ++++++++++++++++--- 4 files changed, 249 insertions(+), 24 deletions(-) (limited to 'demos/quickstart') 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 diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page index a65c4d2d..97fe260c 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page +++ b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page @@ -133,4 +133,76 @@ Auto postback radio button list: + + +

Checkbox Lists with DataBinding

+ + + + + + + + + + + + + + + + + + +
+Databind to an integer-indexed array: + + + +
+Databind to an associative array: + + + +
+Databind with DataTextField and DataValueField specified: + + + +
+ + +

RadioButton List with Validation

+ + + + + + + + +
+RadioButton list causing validation: + + + + + + + +
+ \ No newline at end of file diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.php b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.php index 47d9b23b..b45441f9 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.php +++ b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.php @@ -2,20 +2,67 @@ class Home extends TPage { + public function onLoad($param) + { + parent::onLoad($param); + if(!$this->IsPostBack) + { + $data=array('item 1','item 2','item 3','item 4'); + $this->DBRadioButtonList1->DataSource=$data; + $this->DBRadioButtonList1->dataBind(); + + $data=array('key 1'=>'item 1','key 2'=>'item 2', + 'key 3'=>'item 3','key 4'=>'item 4'); + $this->DBRadioButtonList2->DataSource=$data; + $this->DBRadioButtonList2->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->DBRadioButtonList3->DataSource=$data; + $this->DBRadioButtonList3->dataBind(); + } + } + + protected function collectSelectionResult($input,$output) + { + $indices=$input->SelectedIndices; + $result=''; + foreach($indices as $index) + { + $item=$input->Items[$index]; + $result.="(Index: $index, Value: $item->Value, Text: $item->Text)"; + } + if($result==='') + $output->Text='Your selection is empty.'; + else + $output->Text='Your selection is: '.$result; + } + public function buttonClicked($sender,$param) { - $index=$this->RadioButtonList->SelectedIndex; - $value=$this->RadioButtonList->SelectedValue; - $text=$this->RadioButtonList->SelectedItem->Text; - $this->SelectionResult->Text="Your selection is (Index: $index, Value: $value, Text: $text)."; + $this->collectSelectionResult($this->RadioButtonList,$this->SelectionResult); } public function selectionChanged($sender,$param) { - $index=$sender->SelectedIndex; - $value=$sender->SelectedValue; - $text=$sender->SelectedItem->Text; - $this->SelectionResult2->Text="Your selection is (Index: $index, Value: $value, Text: $text)."; + $this->collectSelectionResult($sender,$this->SelectionResult2); + } + + public function DBRadioButtonList1Changed($sender,$param) + { + $this->collectSelectionResult($sender,$this->DBRadioButtonList1Result); + } + + public function DBRadioButtonList2Changed($sender,$param) + { + $this->collectSelectionResult($sender,$this->DBRadioButtonList2Result); + } + + public function DBRadioButtonList3Changed($sender,$param) + { + $this->collectSelectionResult($sender,$this->DBRadioButtonList3Result); } } -- cgit v1.2.3