diff options
author | xue <> | 2006-01-26 05:29:54 +0000 |
---|---|---|
committer | xue <> | 2006-01-26 05:29:54 +0000 |
commit | 422eb693da395056f7aaba594be15bcc6b103bf2 (patch) | |
tree | 529684377c94b29d1f28cb8a90275262d26015bf /demos/quickstart | |
parent | 146cb7314bd0a9c05666605a2aa1fbff5c319447 (diff) |
Added databinding and validation demos to TCheckBoxList and TRadioButtonList.
Diffstat (limited to 'demos/quickstart')
4 files changed, 249 insertions, 24 deletions
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: </table>
+
+
+<h2>Checkbox Lists with DataBinding</h2>
+
+<table class="sampletable">
+
+<tr>
+<td class="samplenote">
+Databind to an integer-indexed array:
+</td>
+<td class="sampleaction">
+<com:TCheckBoxList ID="DBCheckBoxList1"
+ AutoPostBack="true"
+ OnSelectedIndexChanged="DBCheckBoxList1Changed" />
+<com:TLabel ID="DBCheckBoxList1Result" ForeColor="red" />
+</td>
+</tr>
+
+<tr>
+<td class="samplenote">
+Databind to an associative array:
+</td>
+<td class="sampleaction">
+<com:TCheckBoxList ID="DBCheckBoxList2"
+ AutoPostBack="true"
+ OnSelectedIndexChanged="DBCheckBoxList2Changed" />
+<com:TLabel ID="DBCheckBoxList2Result" ForeColor="red" />
+</td>
+</tr>
+
+<tr>
+<td class="samplenote">
+Databind with DataTextField and DataValueField specified:
+</td>
+<td class="sampleaction">
+<com:TCheckBoxList ID="DBCheckBoxList3"
+ AutoPostBack="true"
+ DataTextField="name"
+ DataValueField="id"
+ OnSelectedIndexChanged="DBCheckBoxList3Changed" />
+<com:TLabel ID="DBCheckBoxList3Result" ForeColor="red" />
+</td>
+</tr>
+
+</table>
+
+
+<h2>CheckBox List with Validation</h2>
+
+<table class="sampletable">
+
+<tr>
+<td class="samplenote">
+CheckBox list causing validation:
+</td>
+<td class="sampleaction">
+<com:TTextBox ID="TextBox" />
+<com:TRequiredFieldValidator
+ ControlToValidate="TextBox"
+ ErrorMessage="You must enter a value"
+ Display="Dynamic"
+ ValidationGroup="Group2"
+ />
+<com:TCheckBoxList AutoPostBack="true" ValidationGroup="Group2">
+ <com:TListItem Text="Agree" />
+ <com:TListItem Text="Disagree" />
+</com:TCheckBoxList>
+</td>
+</tr>
+
+</table>
+
</com:TContent>
\ 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: </table>
+
+
+<h2>Checkbox Lists with DataBinding</h2>
+
+<table class="sampletable">
+
+<tr>
+<td class="samplenote">
+Databind to an integer-indexed array:
+</td>
+<td class="sampleaction">
+<com:TRadioButtonList ID="DBRadioButtonList1"
+ AutoPostBack="true"
+ OnSelectedIndexChanged="DBRadioButtonList1Changed" />
+<com:TLabel ID="DBRadioButtonList1Result" ForeColor="red" />
+</td>
+</tr>
+
+<tr>
+<td class="samplenote">
+Databind to an associative array:
+</td>
+<td class="sampleaction">
+<com:TRadioButtonList ID="DBRadioButtonList2"
+ AutoPostBack="true"
+ OnSelectedIndexChanged="DBRadioButtonList2Changed" />
+<com:TLabel ID="DBRadioButtonList2Result" ForeColor="red" />
+</td>
+</tr>
+
+<tr>
+<td class="samplenote">
+Databind with DataTextField and DataValueField specified:
+</td>
+<td class="sampleaction">
+<com:TRadioButtonList ID="DBRadioButtonList3"
+ AutoPostBack="true"
+ DataTextField="name"
+ DataValueField="id"
+ OnSelectedIndexChanged="DBRadioButtonList3Changed" />
+<com:TLabel ID="DBRadioButtonList3Result" ForeColor="red" />
+</td>
+</tr>
+
+</table>
+
+
+<h2>RadioButton List with Validation</h2>
+
+<table class="sampletable">
+
+<tr>
+<td class="samplenote">
+RadioButton list causing validation:
+</td>
+<td class="sampleaction">
+<com:TTextBox ID="TextBox" />
+<com:TRequiredFieldValidator
+ ControlToValidate="TextBox"
+ ErrorMessage="You must enter a value"
+ Display="Dynamic"
+ ValidationGroup="Group2"
+ />
+<com:TRadioButtonList AutoPostBack="true" ValidationGroup="Group2">
+ <com:TListItem Text="Agree" />
+ <com:TListItem Text="Disagree" />
+</com:TRadioButtonList>
+</td>
+</tr>
+
+</table>
+
</com:TContent>
\ 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);
}
}
|