From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- .../Samples/TActiveDataGrid/Sample3.php | 378 ++++++++++----------- 1 file changed, 189 insertions(+), 189 deletions(-) (limited to 'demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDataGrid/Sample3.php') diff --git a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDataGrid/Sample3.php b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDataGrid/Sample3.php index 9768ca31..5e2fb355 100644 --- a/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDataGrid/Sample3.php +++ b/demos/quickstart/protected/pages/ActiveControls/Samples/TActiveDataGrid/Sample3.php @@ -1,190 +1,190 @@ -_data===null) - $this->loadData(); - return $this->_data; - } - - protected function loadData() - { - // We use viewstate keep track of data. - // In real applications, data should come from database using an SQL SELECT statement. - // In the following tabular data, field 'ISBN' is the primary key. - // All update and delete operations should come with an 'id' value in order to go through. - if(($this->_data=$this->getViewState('Data',null))===null) - { - $this->_data=array( - array( - 'ISBN'=>'0596007124', - 'title'=>'Head First Design Patterns', - 'publisher'=>'O\'Reilly Media, Inc.', - 'price'=>29.67, - 'instock'=>true, - 'rating'=>4, - ), - array( - 'ISBN'=>'0201633612', - 'title'=>'Design Patterns: Elements of Reusable Object-Oriented Software', - 'publisher'=>'Addison-Wesley Professional', - 'price'=>47.04, - 'instock'=>true, - 'rating'=>5, - ), - array( - 'ISBN'=>'0321247140', - 'title'=>'Design Patterns Explained : A New Perspective on Object-Oriented Design', - 'publisher'=>'Addison-Wesley Professional', - 'price'=>37.49, - 'instock'=>true, - 'rating'=>4, - ), - array( - 'ISBN'=>'0201485672', - 'title'=>'Refactoring: Improving the Design of Existing Code', - 'publisher'=>'Addison-Wesley Professional', - 'price'=>47.14, - 'instock'=>true, - 'rating'=>3, - ), - array( - 'ISBN'=>'0321213351', - 'title'=>'Refactoring to Patterns', - 'publisher'=>'Addison-Wesley Professional', - 'price'=>38.49, - 'instock'=>true, - 'rating'=>2, - ), - array( - 'ISBN'=>'0735619670', - 'title'=>'Code Complete', - 'publisher'=>'Microsoft Press', - 'price'=>32.99, - 'instock'=>false, - 'rating'=>4, - ), - array( - 'ISBN'=>'0321278658 ', - 'title'=>'Extreme Programming Explained : Embrace Change', - 'publisher'=>'Addison-Wesley Professional', - 'price'=>34.99, - 'instock'=>true, - 'rating'=>3, - ), - ); - $this->saveData(); - } - } - - protected function saveData() - { - $this->setViewState('Data',$this->_data); - } - - protected function updateBook($isbn,$title,$publisher,$price,$instock,$rating) - { - // In real applications, data should be saved to database using an SQL UPDATE statement - if($this->_data===null) - $this->loadData(); - $updateRow=null; - foreach($this->_data as $index=>$row) - if($row['ISBN']===$isbn) - $updateRow=&$this->_data[$index]; - if($updateRow!==null) - { - $updateRow['title']=$title; - $updateRow['publisher']=$publisher; - $updateRow['price']=TPropertyValue::ensureFloat(ltrim($price,'$')); - $updateRow['instock']=TPropertyValue::ensureBoolean($instock); - $updateRow['rating']=TPropertyValue::ensureInteger($rating); - $this->saveData(); - } - } - - protected function deleteBook($isbn) - { - // In real applications, data should be saved to database using an SQL DELETE statement - if($this->_data===null) - $this->loadData(); - $deleteIndex=-1; - foreach($this->_data as $index=>$row) - if($row['ISBN']===$isbn) - $deleteIndex=$index; - if($deleteIndex>=0) - { - unset($this->_data[$deleteIndex]); - $this->saveData(); - } - } - - public function onLoad($param) - { - parent::onLoad($param); - if(!$this->IsPostBack && !$this->IsCallBack) - { - $this->DataGrid->DataSource=$this->Data; - $this->DataGrid->dataBind(); - } - } - - public function itemCreated($sender,$param) - { - $item=$param->Item; - if($item->ItemType==='EditItem') - { - // set column width of textboxes - $item->BookTitleColumn->TextBox->Columns=40; - $item->PriceColumn->TextBox->Columns=5; - } - if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem' || $item->ItemType==='EditItem') - { - // add an aleart dialog to delete buttons - $item->DeleteColumn->Button->Attributes->onclick='if(!confirm(\'Are you sure?\')) return false;'; - } - } - - public function editItem($sender,$param) - { - $this->DataGrid->EditItemIndex=$param->Item->ItemIndex; - $this->DataGrid->DataSource=$this->Data; - $this->DataGrid->dataBind(); - } - - public function saveItem($sender,$param) - { - $item=$param->Item; - $this->updateBook( - $this->DataGrid->DataKeys[$item->ItemIndex], // ISBN - $item->BookTitleColumn->TextBox->Text, // title - $item->PublisherColumn->TextBox->Text, // publisher - $item->PriceColumn->TextBox->Text, // price - $item->InStockColumn->CheckBox->Checked, // instock - $item->RatingColumn->DropDownList->SelectedValue // rating - ); - $this->DataGrid->EditItemIndex=-1; - $this->DataGrid->DataSource=$this->Data; - $this->DataGrid->dataBind(); - } - - public function cancelItem($sender,$param) - { - $this->DataGrid->EditItemIndex=-1; - $this->DataGrid->DataSource=$this->Data; - $this->DataGrid->dataBind(); - } - - public function deleteItem($sender,$param) - { - $this->deleteBook($this->DataGrid->DataKeys[$param->Item->ItemIndex]); - $this->DataGrid->EditItemIndex=-1; - $this->DataGrid->DataSource=$this->Data; - $this->DataGrid->dataBind(); - } -} - +_data===null) + $this->loadData(); + return $this->_data; + } + + protected function loadData() + { + // We use viewstate keep track of data. + // In real applications, data should come from database using an SQL SELECT statement. + // In the following tabular data, field 'ISBN' is the primary key. + // All update and delete operations should come with an 'id' value in order to go through. + if(($this->_data=$this->getViewState('Data',null))===null) + { + $this->_data=array( + array( + 'ISBN'=>'0596007124', + 'title'=>'Head First Design Patterns', + 'publisher'=>'O\'Reilly Media, Inc.', + 'price'=>29.67, + 'instock'=>true, + 'rating'=>4, + ), + array( + 'ISBN'=>'0201633612', + 'title'=>'Design Patterns: Elements of Reusable Object-Oriented Software', + 'publisher'=>'Addison-Wesley Professional', + 'price'=>47.04, + 'instock'=>true, + 'rating'=>5, + ), + array( + 'ISBN'=>'0321247140', + 'title'=>'Design Patterns Explained : A New Perspective on Object-Oriented Design', + 'publisher'=>'Addison-Wesley Professional', + 'price'=>37.49, + 'instock'=>true, + 'rating'=>4, + ), + array( + 'ISBN'=>'0201485672', + 'title'=>'Refactoring: Improving the Design of Existing Code', + 'publisher'=>'Addison-Wesley Professional', + 'price'=>47.14, + 'instock'=>true, + 'rating'=>3, + ), + array( + 'ISBN'=>'0321213351', + 'title'=>'Refactoring to Patterns', + 'publisher'=>'Addison-Wesley Professional', + 'price'=>38.49, + 'instock'=>true, + 'rating'=>2, + ), + array( + 'ISBN'=>'0735619670', + 'title'=>'Code Complete', + 'publisher'=>'Microsoft Press', + 'price'=>32.99, + 'instock'=>false, + 'rating'=>4, + ), + array( + 'ISBN'=>'0321278658 ', + 'title'=>'Extreme Programming Explained : Embrace Change', + 'publisher'=>'Addison-Wesley Professional', + 'price'=>34.99, + 'instock'=>true, + 'rating'=>3, + ), + ); + $this->saveData(); + } + } + + protected function saveData() + { + $this->setViewState('Data',$this->_data); + } + + protected function updateBook($isbn,$title,$publisher,$price,$instock,$rating) + { + // In real applications, data should be saved to database using an SQL UPDATE statement + if($this->_data===null) + $this->loadData(); + $updateRow=null; + foreach($this->_data as $index=>$row) + if($row['ISBN']===$isbn) + $updateRow=&$this->_data[$index]; + if($updateRow!==null) + { + $updateRow['title']=$title; + $updateRow['publisher']=$publisher; + $updateRow['price']=TPropertyValue::ensureFloat(ltrim($price,'$')); + $updateRow['instock']=TPropertyValue::ensureBoolean($instock); + $updateRow['rating']=TPropertyValue::ensureInteger($rating); + $this->saveData(); + } + } + + protected function deleteBook($isbn) + { + // In real applications, data should be saved to database using an SQL DELETE statement + if($this->_data===null) + $this->loadData(); + $deleteIndex=-1; + foreach($this->_data as $index=>$row) + if($row['ISBN']===$isbn) + $deleteIndex=$index; + if($deleteIndex>=0) + { + unset($this->_data[$deleteIndex]); + $this->saveData(); + } + } + + public function onLoad($param) + { + parent::onLoad($param); + if(!$this->IsPostBack && !$this->IsCallBack) + { + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + } + + public function itemCreated($sender,$param) + { + $item=$param->Item; + if($item->ItemType==='EditItem') + { + // set column width of textboxes + $item->BookTitleColumn->TextBox->Columns=40; + $item->PriceColumn->TextBox->Columns=5; + } + if($item->ItemType==='Item' || $item->ItemType==='AlternatingItem' || $item->ItemType==='EditItem') + { + // add an aleart dialog to delete buttons + $item->DeleteColumn->Button->Attributes->onclick='if(!confirm(\'Are you sure?\')) return false;'; + } + } + + public function editItem($sender,$param) + { + $this->DataGrid->EditItemIndex=$param->Item->ItemIndex; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function saveItem($sender,$param) + { + $item=$param->Item; + $this->updateBook( + $this->DataGrid->DataKeys[$item->ItemIndex], // ISBN + $item->BookTitleColumn->TextBox->Text, // title + $item->PublisherColumn->TextBox->Text, // publisher + $item->PriceColumn->TextBox->Text, // price + $item->InStockColumn->CheckBox->Checked, // instock + $item->RatingColumn->DropDownList->SelectedValue // rating + ); + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function cancelItem($sender,$param) + { + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } + + public function deleteItem($sender,$param) + { + $this->deleteBook($this->DataGrid->DataKeys[$param->Item->ItemIndex]); + $this->DataGrid->EditItemIndex=-1; + $this->DataGrid->DataSource=$this->Data; + $this->DataGrid->dataBind(); + } +} + ?> \ No newline at end of file -- cgit v1.2.3