From 9ac994bb7c2a30c62f08ce005179b0eb0b11ee0a Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 21 Jun 2006 12:59:20 +0000 Subject: Added TDataGrid.EmptyTemplate property --- framework/Web/UI/WebControls/TDataList.php | 37 +++++++----------------------- 1 file changed, 8 insertions(+), 29 deletions(-) (limited to 'framework/Web/UI/WebControls/TDataList.php') diff --git a/framework/Web/UI/WebControls/TDataList.php b/framework/Web/UI/WebControls/TDataList.php index be1a9130..0dac2be2 100644 --- a/framework/Web/UI/WebControls/TDataList.php +++ b/framework/Web/UI/WebControls/TDataList.php @@ -383,19 +383,6 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs throw new TInvalidDataTypeException('datalist_template_required','EmptyTemplate'); } - /** - * @return TStyle the style for the content representing no data is bounded. - */ - public function getEmptyStyle() - { - if(($style=$this->getViewState('EmptyStyle',null))===null) - { - $style=new TStyle; - $this->setViewState('EmptyStyle',$style,null); - } - return $style; - } - /** * @return ITemplate the separator template */ @@ -969,7 +956,6 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs $headerStyle=$this->getViewState('HeaderStyle',null); $footerStyle=$this->getViewState('FooterStyle',null); - $emptyStyle=$this->getViewState('EmptyStyle',null); $separatorStyle=$this->getViewState('SeparatorStyle',null); foreach($this->getControls() as $index=>$item) @@ -984,10 +970,6 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs if($footerStyle) $item->getStyle()->mergeWith($footerStyle); break; - case 'Empty': - if($emptyStyle) - $item->getStyle()->mergeWith($emptyStyle); - break; case 'Separator': if($separatorStyle) $item->getStyle()->mergeWith($separatorStyle); @@ -1051,9 +1033,6 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs case 'Footer': $template=$this->_footerTemplate; break; - case 'Empty': - $template=$this->_emptyTemplate; - break; case 'Item': $template=$this->_itemTemplate; break; @@ -1152,7 +1131,7 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs $this->_footer=$this->createItemInternal(-1,'Footer',false,null); } else if($this->_emptyTemplate!==null) - $this->createItemInternal(-1,'Empty',false,null); + $this->_emptyTemplate->instantiateIn($this); $this->clearChildState(); } @@ -1195,7 +1174,7 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs if($itemIndex>0 && $this->_footerTemplate!==null) $this->_footer=$this->createItemInternal(-1,'Footer',true,null); if($itemIndex===0 && $this->_emptyTemplate!==null) - $this->createItemInternal(-1,'Empty',true,null); + $this->_emptyTemplate->instantiateIn($this); $this->setViewState('ItemCount',$itemIndex,0); } @@ -1208,14 +1187,14 @@ class TDataList extends TBaseDataList implements INamingContainer, IRepeatInfoUs { if($this->getHasControls()) { - $this->applyItemStyles(); - if($this->getItemCount()===0 && $this->_emptyTemplate!==null) - parent::render($writer); - else + if($this->getItemCount()>0) { + $this->applyItemStyles(); $repeatInfo=$this->getRepeatInfo(); $repeatInfo->renderRepeater($writer,$this); } + else if($this->_emptyTemplate!==null) + parent::render($writer); } } } @@ -1376,11 +1355,11 @@ class TDataListItem extends TWebControl implements INamingContainer } /** - * @param string item type. Valid values include 'Header','Footer','Empty','Item','AlternatingItem','SelectedItem','EditItem','Separator','Pager'. + * @param string item type. Valid values include 'Header','Footer','Item','AlternatingItem','SelectedItem','EditItem','Separator','Pager'. */ public function setItemType($value) { - $this->_itemType=TPropertyValue::ensureEnum($value,'Header','Footer','Empty','Item','AlternatingItem','SelectedItem','EditItem','Separator','Pager'); + $this->_itemType=TPropertyValue::ensureEnum($value,'Header','Footer','Item','AlternatingItem','SelectedItem','EditItem','Separator','Pager'); } /** -- cgit v1.2.3