diff options
author | ctrlaltca@gmail.com <> | 2011-11-09 12:35:57 +0000 |
---|---|---|
committer | ctrlaltca@gmail.com <> | 2011-11-09 12:35:57 +0000 |
commit | 5380a870b799098d7900b1098b4e9930ba71f10e (patch) | |
tree | 8face776f884dd29b6a0ca8216206baa6954c564 | |
parent | 199ebf217cc4b597fc2044d50ef66b73dc4c5eaf (diff) |
fix #371
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | framework/Web/UI/ActiveControls/TActiveDataGrid.php | 17 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TDataGrid.php | 14 |
3 files changed, 25 insertions, 7 deletions
@@ -35,6 +35,7 @@ BUG: Issue #366 - Use divs instead of spans around tables in TActiveDataGrid (ct BUG: Issue #365 - [Runtime Notice] Declaration of T${DriverName}MetaData::quoteTableName() should be compatible with that of TDbMetaData::quoteTableName() (Yves) BUG: Issue #367 - Parameterized RegularExpression property in UrlMapping raise TPhpErrorException in DOMDocument::loadXML() (Yves) BUG: Issue #368 - Clearing selection of a TActiveDropDownList in callback should select its prompt (ctrlaltca) +BUG: Issue #371 - Sorting on TActiveDataGrid autogenerated column not work (ctrlaltca) ENH: Performance (micro)optimization in TUrlMapping::loadUrlMappings - invoke `getDefaultMappingClass` outside of loop (Yves) BUG: TActiveMultiView must update clientside only when necessary to get other active controls work fine inside it (ctrlaltca) BUG: TListBox doesn't correctly reports selected indices to serverside on callback diff --git a/framework/Web/UI/ActiveControls/TActiveDataGrid.php b/framework/Web/UI/ActiveControls/TActiveDataGrid.php index bd32db5e..c4ad9640 100644 --- a/framework/Web/UI/ActiveControls/TActiveDataGrid.php +++ b/framework/Web/UI/ActiveControls/TActiveDataGrid.php @@ -52,10 +52,19 @@ Prado::using('System.Web.UI.WebControls.TCheckBoxColumn'); * @since 3.1.9 */ class TActiveDataGrid extends TDataGrid implements IActiveControl, ISurroundable { -/** - * Creates a new callback control, sets the adapter to - * TActiveControlAdapter. - */ + + /** + * @return string Name of the class used in AutoGenerateColumns mode + */ + protected function getAutoGenerateColumnName() + { + return 'TActiveBoundColumn'; + } + + /** + * Creates a new callback control, sets the adapter to + * TActiveControlAdapter. + */ public function __construct() { parent::__construct(); $this->setAdapter(new TActiveControlAdapter($this)); diff --git a/framework/Web/UI/WebControls/TDataGrid.php b/framework/Web/UI/WebControls/TDataGrid.php index 3d06363a..ede67b89 100644 --- a/framework/Web/UI/WebControls/TDataGrid.php +++ b/framework/Web/UI/WebControls/TDataGrid.php @@ -9,7 +9,7 @@ *
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.pradosoft.com/
- * @copyright Copyright © 2005-2011 PradoSoft + * @copyright Copyright © 2005-2011 PradoSoft
* @license http://www.pradosoft.com/license/
* @version $Id$
* @package System.Web.UI.WebControls
@@ -227,6 +227,14 @@ class TDataGrid extends TBaseDataList implements INamingContainer }
/**
+ * @return string Name of the class used in AutoGenerateColumns mode
+ */
+ protected function getAutoGenerateColumnName()
+ {
+ return 'TBoundColumn';
+ }
+
+ /**
* Adds objects parsed in template to datagrid.
* Datagrid columns are added into {@link getColumns Columns} collection.
* @param mixed object parsed in template
@@ -909,7 +917,7 @@ class TDataGrid extends TBaseDataList implements INamingContainer $this->_autoColumns=new TDataGridColumnCollection($this);
foreach($state as $st)
{
- $column=new TBoundColumn;
+ $column=new $this->AutoGenerateColumnName;
$column->loadState($st);
$this->_autoColumns->add($column);
}
@@ -1404,7 +1412,7 @@ class TDataGrid extends TBaseDataList implements INamingContainer {
foreach($row as $key=>$value)
{
- $column=new TBoundColumn;
+ $column=new $this->AutoGenerateColumnName;
if(is_string($key))
{
$column->setHeaderText($key);
|