<ac:macro ac:name="note"><ac:parameter ac:name="title">Under Construction</ac:parameter><ac:rich-text-body>
<p>This proposal is under construction and is not ready for review.</p></ac:rich-text-body></ac:macro>
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFPROP:Proposal Zone Template}
{zone-data:component-name}
Zend_DataGrid
{zone-data}
{zone-data:proposer-list}
[Aristide R. ZOUNGRANA|mailto:azoungrana@gmail.com]
[Mihai BOJIN|mailto:venom@mihaibojin.com]
{zone-data}
{zone-data:liaison}
TBD
{zone-data}
{zone-data:revision}
1.0 - 11 September 2008: Initial Draft.
{zone-data}
{zone-data:overview}
Zend_DataGrid is a component that displays the values of a data source in a table where each column represents a field and each row represents a record. The DataGrid component supports the following features:
Binding to data source controls, such as Zend_Db_Select, Zend_Db_Table, XML, CSV, RSS...Build-in columns capabilities (text, hyperlink, checkbox, radiobox, tree, template columns...).Built-in sorting capabilities.Built-in paging capabilities.Built-in row selection capabilities.Programmatic access to the DataGrid object model to dynamically set properties...Customizable appearance through styles.
{zone-data}
{zone-data:references}
* [GridView Wikipedia Entry|http://en.wikipedia.org/wiki/Grid_view]
* [.NET Datagrid|http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.aspx]
* [PEAR Structures Datagrid|http://pear.php.net/package/Structures_DataGrid]
* [JDatagrid|http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html]
* [Framework Prado Datagrid|http://pradosoft.com/docs/manual/System.Web.UI.WebControls/TDataGrid.html]
* [Flash Datagrid|http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/DataGrid.html]
* [phpGrid|http://www.phpgrid.com/grid/ss/]
* [Example of Screenshots|http://petala-azul.com/blog/2008/09/14/some-screenshots/]
{zone-data}
{zone-data:requirements}
* This component *will* provide extensibility to create automatically Html Table.
* This component *will* provide XHTML valid output.
{zone-data}
{zone-data:dependencies}
* Zend_Exception
* Zend_Paginator
* Zend_Form_Element_*
* Zend_View_Helper_*
* Zend_Config_*
{zone-data}
{zone-data:operation}
The component will displays grid in HTML, XML... formats with few renderers
{zone-data}
{zone-data:milestones}
* Milestone 1: Initial class design
* Milestone 2: Create prototype
* Milestone 3: Finish proposal and submit for community review
* Milestone 4: Create code-covering unit tests
* Milestone 5: Initial documentation exists.
{zone-data}
{zone-data:class-list}
* Zend_DataGrid
* Zend_DataGrid_Exception
* Zend_DataGrid_Column
* Zend_DataGrid_DisplayGroup
* Zend_DataGrid_Column_Button
* Zend_DataGrid_Column_Checkbox
* Zend_DataGrid_Column_DropDownList
* Zend_DataGrid_Column_EditCommand
* Zend_DataGrid_Column_HyperLink
* Zend_DataGrid_Column_Image
* Zend_DataGrid_Column_Literal
* Zend_DataGrid_Column_Radiobox
* Zend_DataGrid_Column_Template
* Zend_DataGrid_Column_Exception
* Zend_DataGrid_Renderer_Abstract
* Zend_DataGrid_Renderer_Xhtml
* Zend_DataGrid_Renderer_CVS
* Zend_DataGrid_Renderer_Exception
* Zend_DataGrid_Datasource_Abstract
* Zend_DataGrid_Datasource_Array
* Zend_DataGrid_Datasource_DbSelect
* Zend_DataGrid_Datasource_DbTable
* Zend_DataGrid_Datasource_Xml
* Zend_DataGrid_Datasource_Exception
* Zend_View_Helper_Datagrid
{zone-data}
{zone-data:use-cases}
{composition-setup}
{deck:id=use-cases1}
{card:label=UC 1 : The model of data}
UC1: The model of data
{code}
class App_MyDataGrid extends Zend_DataGrid
{
public function init()
{
parent::init();
$id = new Inova_DataGrid_Column_Literal('#');
$id->setHeaderText(' # ')
->setDataField('mnu_lis_id');
$select = new Inova_DataGrid_Column_Checkbox('id');
$select->setHeaderText('')
->setDataField('mnu_lis_id');
$radio = new Inova_DataGrid_Column_Radio('id');
$radio->setHeaderText('Choix')
->setDataField('mnu_lis_id');
$title = new Inova_DataGrid_Column_HyperLink('title');
$title->setHeaderText('Nom du menu')
->setDataField('mnu_elt_title')
->setTreeLevelDataField('mnu_list_tree')
->setDataUrlField('mnu_elt_id')
->setDataUrlFormatString($editActionUrl.'/id/%1$d');
$alias = new Inova_DataGrid_Column_Literal('alias');
$alias->setHeaderText('Alias')
->setDataField('mnu_elt_alias');
$desc = new Inova_DataGrid_Column_Literal('desc');
$desc->setHeaderText('Description')
->setDataField('mnu_elt_desc')
->addFilter('StringToLower');
$link = new Inova_DataGrid_Column_Literal('link');
$link->setHeaderText('Lien')
->setDataField('mnu_elt_link');
$this->addColumn($id)
->addColumn($select)
->addColumn($title)
->addColumn($alias)
->addColumn($desc)
->addColumn($link);
$this->setName('myListeGrid')
->setForm('mnuListeForm','mnu/liste')
->bindDataTable(new App_MyDbTable(),'findSqlSelect');
return $this;
}
}
{code}
{card}
{card:label=UC 2 : In action controller}
UC 2 : In action controller
{code}
class Mnu_ListeController extends Intranet_Controller_Action
{
...
public function indexAction()
{
$options = Zend_Config....
$this->view->datagrid = new App_MyDataGrid($options);
$this->view->datagrid->addPagerParam('paramForPaginationControl', $value);
...
}
}
{code}
{card}
{card:label=UC 3 : In view}
UC 3 : In view
{code}
datagrid->render(); ?>
{code}
{card}
{card:label=UC 4 : datagrid view helper}
UC 4: Simple usage, Only With datagrid view helper
{code}
$datasource = array(
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3'),
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3'),
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3') );
echo $this->datagrid($datasource);
?
{code}
{card}
{deck}
{zone-data}
{zone-data:skeletons}
{composition-setup}
{deck:id=datagrid}
{card:label=Zend_DataGrid_Exception}
Zend_DataGrid_Exception
{code}
class Zend_DataGrid_Exception extends Zend_Exception {}
{code}
{card}
{card:label=Zend_DataGrid}
Zend_DataGrid
{code}
/** @see Zend_Paginator */
require_once 'Zend/Paginator.php';
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_DataGrid_DisplayGroup */
require_once 'Zend/DataGrid/DisplayGroup.php';
/**
* Class for datagrid generation
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DataGrid.php 6137 2008-09-11 21:29:27Z azoungrana $
*/
class Zend_DataGrid
{
const DEFAULT_RENDER = 'Xhtml';
/**
* Array of columns
*
* @var array
*/
protected $_columns = array();
/**
* The data source object
*
* @var Zend_DataGrid_Datasource
*/
protected $_datasource = null;
/**
* The pager component
*
* @var Zend_Paginator
*/
protected $_pager = null;
/**
* Array of records.
*
* @var mixed
*/
protected $_recordSet = null;
/**
* The renderer objet
*
* @var Zend_Renderer_Abstract
*/
protected $_renderer = null;
/**
* Constructor
*
* @var array|Zend_Config $options
*/
public function __construct($options)
{
}
//metadata
/**
* Set element allow sorting
*
* @param boolean $order
* @return Zend_DataGrid
*/
public function setAllowSorting($value) { }
/**
* Retrieve element allow sorting
*
* @return boolean
*/
public function getAllowSorting() {}
//columns
/**
* Add a column
*
* @param Zend_DataGrid_Column
*/
public function addColumn($column){}
/**
* Inserts a column at the specified index in the columns array
*
* @param Zend_DataGrid_Column
* @param integer $index
* @return Zend_DataGrid
*/
public function addColumnAt($column, $index = null){}
/**
* Return the current columns
*
* @param string $name
* @return array
*/
public function getColumn($name) {}
/**
* Retrieves the column that is located at the specified index of the columns arra
*
* @param integer $index
* @return array
*/
public function getColumnAt($index) {}
/**
* Remove column specify by it name
*
* @param string
* @return zend_DataGrid
*/
public function removeColumn($name) {}
/**
* Removes the column that is located at the specified index of the columns array
*
* @param string
* @return zend_DataGrid
*/
public function removeColumnAt($index) {}
/**
* Removes columns specify by its names ou removes all columns
*
* @param array
* @return zend_DataGrid
*/
public function removeColumns(array $names = null) {}
/**
* Return the current columns
*
* @return array
*/
public function getColumns() {}
/**
* Returns the number of columns
*
* @return integer
*/
public function getColumnCount() {}
/**
* Generate columns from a fields list
* This is a shortcut for adding simple columns easily, instead of creating them manually and calling addColumn() for each.
* The generated columns are appended to the current column set.
*
* <example>
* array( 'columnIdInDatasource'=> 'ColumnLabel', ...)
* </example>
*
* @param array $columns the columns to generate
* @return Zend_DataGrid
*/
public function generateColumns(array $columns) {}
/**
* Auto generate the columns if no explicity specify
*
* @return Zend_DataGrid
*/
public function autogenerateColumns($value) {}
//datasource
/**
* Get the currently loaded DataSource object
*
* @return Zend_DataGrid_Datasource
*/
public function getDatasource(){}
/**
*
* @param array|Zend_Config $options The options for datasource, such as the type of datasource, xml, dsn...
*/
public function setDatasource($datasource, $options = null){}
/**
* Set a single datasource option
*
* @param string $name
* @param mixed $value
* @return Zend_DataGrid
*/
public function setDataSourceOption($name, $value) {}
/**
* Set multiple datasource options
*
* @param array $options An associative array of the form: array("option_name" => "option_value",...)
* @return Zend_DataGrid
*/
public function setDataSourceOptions(array $options) {}
/**
* Returns the total number of records
*
* @return integer
*/
public function getItemsCount(){}
/**
* Request the recordset to sort its data
*
* @return Zend_DataGrid
*/
public function sortItems() {}
/**
* Bind data to datagrid
*
* @see Zend_DataGrid::setDatasource
* @return Zend_DataGrid
*/
public function dataBind($data) {}
public function getItems() {}
//pager
/**
* Retrieves the datagrid paginator
*
* @return Zend_Paginator
*/
public function getPager(){}
/**
* Define the dtagrid pager
*/
public function setPager($pager){}
/**
* Retrieves the current page number when paging is implemented
*
* @return integer
*/
public function getCurrentPage() {}
/**
* Define the current page number.
* This method is used when paging is implemented
*
* @param integer $value
* @return Zend_DataGrid
*/
public function setCurrentPage($value) {}
//rendering
/**
* Get the current or default Rendering object
*
* @return Zend_DataGrid_Renderer_Abstract
*/
public function getRenderer() {}
/**
* Set Renderer
*
* @param string|Zend_DataGrid_Renderer $type
* @param array|Zend_Config $options
*/
public function setRenderer($type, $options) {}
/**
* Set a single renderer option
*
* @param string $name
* @param mixed $value
* @return Zend_DataGrid
*/
public function setRendererOption($name, $value) {}
/**
* Set multiple renderer options
*
* @param array $options An associative array of the form: array("option_name" => "option_value",...)
* @return Zend_DataGrid
*/
public function setRendererOptions(array $options) {}
public function render(Zend_View_Interface $view){}
public function renderPager(Zend_View_Interface $view){}
// events
public function getEditItem() {}
public function setEditItemIndex($value) {}
public function getEditItemIndex() {}
public function getSelectedItem() {}
public function setSelectedItemIndex() {}
public function getSelectedItemIndex() {}
public function onEditCommand($param) {}
public function onCancelCommand($param) {}
public function onSelectCommand($param) {}
public function onDeleteCommand($param) {}
public function onUpdateCommand($param) {}
public function onPageIndexChanged($param) {}
public function onSortCommand($param) {}
}
{code}
{card}
{deck}
h3. The design of columns
{deck:id=columns}
{card:label=DisplayGroup}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_DataGrid_Exception */
require_once 'Zend/DataGrid/Exception.php';
/**
* Zend_Form_DisplayGroup
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DisplayGroup.php 10406 2008-09-19 15:13:05Z azoungrana $
*/
class Zend_DataGrid_DisplayGroup
{
/**
* Columns
* @var array
*/
protected $_columnss = array();
/**
* The display group column order
* @var array
*/
protected $_columnOrder = array();
/**
* Column footer text
* @var string
*/
protected $_footerText;
/**
* Column header text
* @var string
*/
protected $_headerText;
/**
* Display group name
* @var string
*/
protected $_name;
/**
* Renderer attributes for this column
*/
protected $_rendererOptions = array();
/**
* Column visibility. Allow hidden column
* @var boolean
*/
protected $_visible;
/**
* Constructor
*
* @param string $name
* @param array|Zend_Config $options
* @return void
*/
public function __construct($name, $options = null) {}
/**
* Initialize object; used by extending classes
*
* @return void
*/
public function init() {}
/**
* Set options
*
* @param array $options
* @return Zend_DataGrid_DisplayGroup
*/
public function setOptions(array $options) {}
/**
* Set options from config object
*
* @param Zend_Config $config
* @return Zend_DataGrid_DisplayGroup
*/
public function setConfig(Zend_Config $config) {}
//Attributes and Metadata
/**
* Set element attribute
*
* @param string $name
* @param string $value
* @return Zend_DataGrid_DisplayGroup
* @throws Zend_DataGrid_Exception for invalid $name values
*/
public function setRendererOption($name, $value, $position='item') { }
/**
* Set the column XML/HTML attributes
*
* @param array
* @return Zend_DataGrid_DisplayGroup
*/
public function setRendererOptions($attributes) {}
/**
* Get the column XML/HTML attributes
*
* @return array
*/
public function getRendererOptions() {}
/**
* Add attributes
*
* @param string $name
* @param string|integer $value
* @return Zend_DataGrid_DisplayGroup
*/
public function addRendererOption($name, $value) {}
/**
* Set element name
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setName($name){}
/**
* Return element name
*
* @return string
*/
public function getName() {}
/**
* Set element header text
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setHeaderText($name) { }
/**
* Return element header text
*
* @return string
*/
public function getHeaderText() {}
/**
* Set element footer text
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setFooterText($name){ }
/**
* Return element footer text
*
* @return string
*/
public function getFooterText() { }
/**
* Set element order
*
* @param int $order
* @return Zend_DataGrid_DisplayGroup
*/
public function setOrder($order){}
/**
* Retrieve element order
*
* @return int
*/
public function getOrder() {}
/**
* Set element visibility
*
* @param boolean $order
* @return Zend_DataGrid_DisplayGroup
*/
public function setVisible($value) {}
/**
* Retrieve element visibility
*
* @return boolean
*/
public function getVisible() { }
/**
* Return elment type
*
* @return string
*/
public function getType(){}
// Columns
/**
* Add column to stack
*
* @param Zend_DataGrid_Column $column
* @return Zend_DataGrid_DisplayGroup
*/
public function addColumn(Zend_DataGrid_Column $column) {}
/**
* Add multiple columns at once
*
* @param array $columnss
* @return Zend_DataGrid_DisplayGroup
* @throws Zend_Datagrid_Exception if any element is not a Zend_DataGrid_Column
*/
public function addColumns(array $columnss) {}
/**
* Set multiple columns at once (overwrites)
*
* @param array $columns
* @return Zend_DataGrid_DisplayGroup
*/
public function setColumns(array $columns) {}
/**
* Retrieve columns
*
* @param string $name
* @return Zend_DataGrid_Column|null
*/
public function getColumn($name) {}
/**
* Retrieve columns
* @return array
*/
public function getColumns() {}
/**
* Remove a single column
*
* @param string $name
* @return boolean
*/
public function removeColumn($name) {}
/**
* Remove all columns
*
* @return Zend_DataGrid_DisplayGroup
*/
public function clearColumns() {}
}
{code}
{card}
{card:label=Column}
{code}
/** @see Zend_Filter */
require_once 'Zend/Filter.php';
/**
* Zend_DataGrid_Column
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Column.php 6137 2008-09-12 18:13:27Z azoungrana $
*/
class Zend_DataGrid_Column
{
/**
* Default sort Direction
*/
const DEFAULT_SORT_DIRECTION = 'ASC';
/**
* Default allow sorting value
*/
const DEFAULT_ALLOW_SORTING = false;
/**
* Allow sorting of column element
* @var boolean
*/
protected $_allowSorting;
/**
* The value to be used if a cell is empty
*
* @var string
*/
protected $_autoFillValue = null;
/**
* The names of the field to map to
*
* @var array
*/
protected $_dataFields = array();
/**
* The formatting string used to control how the bound data will be displayed
*
* @var string
*/
protected $_dataFormatString;
/**
* The fields name to order by. Optional
*
* @var array
*/
protected $_fieldsOrderBy = array();
/**
* The filters to use for the formatting of column
*
* @var array
*/
protected $_filters = array();
/**
* Column footer text
* @var string
*/
protected $_footerText;
/**
* The form element
*
* @var Zend_Form_Element
*/
protected $_formElement = null;
/**
* Column header text
* @var string
*/
protected $_headerText;
/**
* The name (unique id) of column
*
* @var string
*/
protected $_name = null;
/**
* Order of element in the collection of columns
* @var int
*/
protected $_order;
/**
* Renderer attributes for this column
*/
protected $_rendererOptions = array();
/**
* Direction to sort the data (ASC,DESC
*
* @var string
*/
protected $_sortDirection = null;
/**
* The datagrid column translator
*
* @var Zend_Translate_Adapter
*/
protected $_translator;
/**
* Tree element for tree datafield
* @var string
*/
protected $_treeLevelDataField = null;
/**
* Column visibility. Allow hidden column
* @var boolean
*/
protected $_visible;
/**
* Constructor
*
* $spec may be:
* - string: name of element
* - array: options with which to configure element
* - Zend_Config: Zend_Config with options for configuring element
*
* @param string|array|Zend_Config $spec
* @return void
* @throws Zend_DataGrid_Column_Exception if no element name after initialization
*/
public function __construct($spec, $options = null)
{}
//Option configuration
/**
* Set object state from options array
*
* @param array $options
* @return Zend_DataGrid_Column
*/
public function setOptions(array $options) {}
/**
* Set object state from Zend_Config object
*
* @param Zend_Config $config
* @return Zend_DataGrid_Column
*/
public function setConfig(Zend_Config $config){}
//Attributes and Metadata
/**
* Set element attribute
*
* @param string $name
* @param string $value
* @return Inova_DataGrid_Column
* @throws Zend_DataGrid_Column_Exception for invalid $name values
*/
public function setRendererOption($name, $value, $position='item') { }
/**
* Set the column XML/HTML attributes
*
* @param array
* @return Zend_DataGrid_Column
*/
public function setRendererOptions($attributes) {}
/**
* Get the column XML/HTML attributes
*
* @return array
*/
public function getRendererOptions() {}
/**
* Add attributes
*
* @param string $name
* @param string|integer $value
* @return Zend_DataGrid_Column
*/
public function addRendererOption($name, $value) {}
/**
* Set element name
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setName($name){}
/**
* Return element name
*
* @return string
*/
public function getName() {}
/**
* Set element header text
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setHeaderText($name) { }
/**
* Return element header text
*
* @return string
*/
public function getHeaderText() {}
/**
* Set element footer text
*
* @param string $name
* @return Inova_DataGrid_Column
*/
public function setFooterText($name){ }
/**
* Return element footer text
*
* @return string
*/
public function getFooterText() { }
/**
* Set element order
*
* @param int $order
* @return Zend_DataGrid_Column
*/
public function setOrder($order){}
/**
* Retrieve element order
*
* @return int
*/
public function getOrder() {}
/**
* Set element allow sorting
*
* @param boolean $order
* @return Zend_DataGrid_Column
*/
public function setAllowSorting($value) { }
/**
* Retrieve element allow sorting
*
* @return boolean
*/
public function getAllowSorting() {}
/**
* Set element visibility
*
* @param boolean $order
* @return Zend_DataGrid_Column
*/
public function setVisible($value) {}
/**
* Retrieve element visibility
*
* @return boolean
*/
public function getVisible() { }
/**
* Return elment type
*
* @return string
*/
public function getType(){}
//Datafields and dataformat
/**
* Set element datafield
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setDataField($name) {}
/**
* Return element datafield
*
* @return string
*/
public function getDataField($name) {}
/**
* Return element datafields
*
* @return string
*/
public function getDataFields() {}
/**
* Add element datafield
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function addDataField($name) {}
/**
* Add element datafields
*
* @param array $names
* @return Zend_DataGrid_Column
*/
public function addDataFields(array $names){}
/**
* Set element data format string
*
* @param string $name the formatting string used by renderer how the bound data will be displayed
* @return Zend_DataGrid_Column
*/
public function setDataFormat($name){}
/**
* Return element data format string
*
* @return string the formatting string used by renderer how the bound data will be displayed
*/
public function getDataFormat() {}
/**
* Set tree element for tree datafield
*
* <example> The renderer will generate
* | text1
* | |- text2
* |- |- text3
* | text4
* | ...
* </example>
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setTreeLevelDataField($name){}
/**
* Return tree element for tree datafield
*
* @return string
*/
public function getTreeLevelDataField(){}
//form element and its filters, validators...
/**
* Sets the form element
*
* @param Zend_Form_Element
* @return Zend_DataGrid_Column_EditCommand
*/
public function setFormElement($element) {}
/*
* Gets the form element
*
* @return Zend_Form_Element
*/
public function getFormElement() {}
//filter
/**
* Retrieve a single filter by name
*
* @param string $name
* @return Zend_Filter_Interface
*/
public function getFilter($name) {}
/**
* Get all filters
*
* @return array
*/
public function getFilters() {}
public function setFilter($filter) {}
/**
* Add filters to element, overwriting any already existing
*
* @param array $filters
* @return Zend_DataGrid_Column
*/
public function setFilters(array $filters) {}
/**
* Add a filter to the element
*
* @param string|Zend_Filter_Interface $filter
* @return Zend_DataGrid_Column
*/
public function addFilter($filter) {}
/**
* Add filters to element
*
* @param array $filters
* @return Zend_DataGrid_Column
*/
public function addFilters(array $filters){}
/**
* Remove a filter by name
*
* @param string $name
* @return boolean
*/
public function removeFilter($filter) {}
/**
* Clear all filters
*
* @return Zend_DataGrid_Column
*/
public function clearFilters() {}
/**
* Filter the content
*
* @param string $content
* @return string
*/
protected function filter($content) {}
// Localization
/**
* Set translator object for localization
*
* @param Zend_Translate_Adapter $translator
* @return Zend_DataGrid_Column
*/
public function setTranslator(Zend_Translate_Adapter $translator = null){}
/**
* Retrieve localization translator object
*
* @return Zend_Translate_Adapter
*/
public function getTranslator(){}
//sorting
public function setSortDirection($direction){}
/**
* Return the default direction to order this column by
* Return ASC or DESC
*
* @return string
*/
public function getDefaultDirection() {}
}
{code}
{card}
{card:label=Button}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Button
*
* The button column contains a user-defined command button, such as Add or Remove, that corresponds with each row in the column.
*
* The caption of the buttons in the column is determined by {@link getText} and {@link getDataField}. If both are present,
* the latter takes precedence. The DataField property refers to the name of the field in datasource whose value will be
* used as the button caption. If DataTextFormat is not empty, the value will be formatted before rendering.
*
* The buttons in the column can be set to display as hyperlinks or push buttons by setting the ButtonType property.
* The CommandName will assign its value to all button's CommandName property. The datagrid will capture the command
* event where you can write event handlers based on different command names.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Button.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_Button extends Zend_DataGrid_Column
{
/**#@+
* The type of editing button
*/
const BUTTON_HYPERLINK = 'hyperlink';
const BUTTON_PUSH = 'push';
const BUTTON_IMAGE = 'image';
/**#@-*/
/**
* The button type
*
* @var string
*/
protected $_buttonType = null;
/**
* The command name
*
* @var string
*/
protected $_commandName = null;
/**
* The data image url field
*
* @var string
*/
protected $_dataUrlImageField = null;
/**
* The data image url format
*
* @var string
*/
protected $_dataImageUrlFormat = null;
/**
* The url of image
*
* @var string
*/
protected $_imageUrl = null;
/**
* The button text
*
* @var string
*/
protected $_buttonText = null;
/**
* Sets the type of command button. Defaults to self::BUTTON_HYPERLINK
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setButtonType($value) {}
/**
* Gets the type of command button. Defaults to self::BUTTON_HYPERLINK
*
* @return string
*/
public function getButtonType() {}
/**
* Sets the command name associated with the Command event
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setCommandName($value) {}
/**
* Gets the command name associated with the Command event
*
* @return string
*/
public function getCommandName() {}
/**
* Sets the field name from the data source to bind to the button image url
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setDataImageUrlField($value) {}
/**
* Gets the field name from the data source to bind to the button image url
*
* @return string
*/
public function getDataImageUrlField() {}
/**
* Return the fields names from the data source to bind to the button image url
*
* @return string
*/
public function getDataImageUrlFields() {}
/**
* Add a field name from the data source to bind to the button image url
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function addDataImageUrlField($value) {}
/**
* Add fields names from the data source to bind to the button image url
*
* @param array $values
* @return Zend_DataGrid_Column_Button
*/
public function addDataImageUrlFields(array $values){}
/**
* Sets the formatting string used to control how the button image url will be displayed.
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setDataImageUrlFormat($value) {}
/**
* Gets the formatting string used to control how the button image url will be displayed.
*
* @return string
*/
public function getDataImageUrlFormat() {}
/**
* Sets the URL of the image file for image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setImageUrl($value) {}
/**
* Gets the URL of the image file for image buttons
*
* @return string
*/
public function getImageUrl() {}
/**
* Sets the text caption of the button
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setText() {}
/**
* Gets the text caption of the button
*
* @return string
*/
public function getText() {}
}
{code}
{card}
{card:label=Checkbox}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Checkbox
*
* The Zend_DataGrid_Column_Checkbox represents a checkbox column that is bound to a field in a data source.
* The checked state of the checkboxes are determiend by the bound data at {@link getDataField}.
* If {@link getReadOnly} is false, the checkbox column will display an enabled checkbox
* provided the cells are in edit mode. Otherwise, the checkboxes will be disabled to prevent from editting
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Checkbox.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_Checkbox extends Zend_DataGrid_Column
{
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column_Checkbox
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() {}
/**
* Sets the data bound field that determines if the checkbox in each row is checked or no
*
* @param string $name
* @return Zend_DataGrid_Column_Checkbox
*/
public function setCheckedField($name) {}
/**
* Gets the data bound field that determines if the checkbox in each row is checked or no
*
* @return string
*/
public function getCheckedField() {}
}
{code}
{card}
{card:label=DropDownList}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_DropDownList
*
* The cells in the column will be displayed using the data indexed by {@link setDataField}.
* You can customize the display by setting {@link setDataFormat}.
*
* If {@link getReadOnly} is false, the Column will display cells in edit mode with dropdown lists.
* Otherwise, a static text is displayed. The currently selected dropndown list item is specified by the data indexed with {@link getDataValueField}.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DropDownList.php 6137 2008-09-19 11:43:27Z azoungrana $
*/
class Zend_DataGrid_Column_DropDownList extends Zend_DataGrid_Column
{
/**
* The data field value
*
* @var string
*/
protected $_dataValueField = null;
/**
* The data source
*
* @var mixed
*/
protected $_listDataSource = null;
/**
* The data text field
*
* @var string
*/
protected $_listTextField = null;
/**
* The data list text field
*
* @var string
*/
protected $_listTextFormat = null;
/**
* The data list value
*
* @var string
*/
protected $_listValueField = null;
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Sets the field of the data source that provides the key selecting an item in dropdown list
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setDataValueField($value) {}
/**
* Gets the field of the data source that provides the key selecting an item in dropdown list
*
* @return string
*/
public function getDataValueField() {}
/**
* Sets data source to be bound to the dropdown list boxes
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListDataSource($value) {}
/**
* Gets data source to be bound to the dropdown list boxes
*
* @return mixed
*/
public function getListDataSource() {}
/**
* Sets the data field used to populate the texts of the dropdown list items. Defaults to empty.
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListTextField($value) {}
/**
* Gets the data field used to populate the texts of the dropdown list items. Defaults to empty.
*
* @param string $value
* @return string
*/
public function getListTextField($value) {}
/**
* Returns the data fields used to populate the texts of the dropdown list items.
*
* @return string
*/
public function getListTextFields() {}
/**
* Adds a data field used to populate the texts of the dropdown list items
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function addListTextField($value) {}
/**
* Adds data fields used to populate the texts of the dropdown list items
*
* @param array $values
* @return Zend_DataGrid_Column_DropDownList
*/
public function addlistTextFields(array $values){}
/**
* Sets the formatting string used to control how the list item texts will be displayed
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListTextFormat($value) {}
/**
* Gets the formatting string used to control how the list item texts will be displayed
*
* @return string
*/
public function getListTextFormat() {}
/**
* Sets the data field used to populate the values of the dropdown list items. Defaults to empty
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListValueField($value) {}
/**
* Gets the data field used to populate the values of the dropdown list items. Defaults to empty
*
* @return string
*/
public function getListValueField() {}
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() { }
}
{code}
{card}
{card:label=EditCommand}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_Form_Element */
require_once 'Zend/Form/Element.php';
/**
* Zend_DataGrid_Column_EditCommand
*
* The Edit Command column contains the Edit command buttons for editing data items in each row (Edit, Update, Cancel)
* The button captions are specified using {@link setEditText}, {@link setUpdateText}, and {@link setCancelText}
* The buttons in the column can be set to display as hyperlinks, push or image buttons by setting the ButtonType property.
*
* When an edit button is clicked, the datagrid will generate an onEditCommand event. When an update/cancel
* button is clicked, the datagrid will generate an onUpdateCommand or an onCancelCommand. You can write
* these event handlers to change the state of specific datagrid item.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: EditCommand.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_EditCommand extends Zend_DataGrid_Column
{
/**#@+
* The type of editing button
*/
const BUTTON_HYPERLINK = 'hyperlink';
const BUTTON_PUSH = 'push';
const BUTTON_IMAGE = 'image';
/**#@-*/
/**
* Default button type
*/
const DEFAULT_BUTTON_TYPE = 'hyperlink';
/**
* Default button label
*/
const DEFAULT_CANCEL_LABEL = 'Cancel';
const DEFAULT_EDIT_LABEL = 'Edit';
const DEFAULT_UPDATE_LABEL = 'Update';
/**#@-*/
/**
* The button type
*
* @var string
*/
protected $_buttonType = null;
/**
* The cancel image url
*
* @var string
*/
protected $_canceImageUrl = null;
/**
* The cancel text
*
* @var string
*/
protected $_cancelText = null;
/**
* The edit image url
*
* @var string
*/
protected $_editImageUrl = null;
/**
* The edit text
*
* @var string
*/
protected $_editText = null;
/**
* The update image url
*
* @var string
*/
protected $_updateImageUrl = null;
/**
* The update text
*
* @var string
*/
protected $_updateText = null;
/**
* Sets the type of command button
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setButtonType($value) {}
/**
* Gets the type of command button
*
* @return string
*/
public function getButtonType() {}
/**
* Sets the URL of the image file for cancel image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setCancelImageUrl($value) {}
/**
* Gets the URL of the image file for cancel image buttons
*
* @return string
*/
public function getCancelImageUrl() {}
/**
* Sets the caption of the cancel button. Defaults to 'Cancel'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setCancelText($value) {}
/**
* Gets the caption of the cancel button. Defaults to 'Cancel'.
*
* @return string
*/
public function getCancelText() {}
/**
* Sets the URL of the image file for edit image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setEditImageUrl($value) {}
/**
* Gets the URL of the image file for edit image buttons
*
* @return string
*/
public function getEditImageUrl() {}
/**
* Sets the caption of the edit button. Defaults to 'Edit'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setEditText($value) {}
/**
* Gets the caption of the edit button. Defaults to 'Edit'.
*
* @return string
*/
public function getEditText() {}
/**
* Sets the URL of the image file for update image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setUpdateImageUrl($value) {}
/**
* Gets the URL of the image file for update image buttons
*
* @return string
*/
public function getUpdateImageUrl() {}
/**
* Sets the caption of the update button. Defaults to 'Update'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setUpdateText($value) {}
/**
* Gets the caption of the update button. Defaults to 'Update'.
*
* @return string
*/
public function getUpdateText() {}
}
{code}
{card}
{card:label=Exception}
{code}
/** @see Zend_DataGrid_Exception */
require_once 'Zend/DataGrid/Exception.php';
/**
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Exception.php 8862 2008-09-12 18:45:00Z azoungrana $
*/
class Zend_DataGrid_Column_Exception extends Zend_DataGrid_Exception
{}
{code}
{card}
{card:label=HyperLink}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_HyperLink
* The hyperlink column contains a hyperlink for each item in the column. You can set the
* text and the url of the hyperlink by {@link setText} and {@link setUrl}, respectively.
* You can also bind the text and url to specific data field in datasource by setting
* {@link setDataUrlField}. Itcan be formatted before rendering according to {@link getDataUrlFormat} value.
*
* If both {@link getText} and {@link getDataFormatString} are present, the latter takes precedence.
* The same rule applies to {@link getUrl} and {@link getDataUrlFormat} values.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_HyperLink extends Zend_DataGrid_Column
{
/**
* The list of target
*/
const TARGET_LIST = array( '_blank', '_parent', '_self', '_top');
/**
* The fields from the data source to bind to the url of hyperlink element
*
* @var array
*/
protected $_dataUrlField = array();
/**
* The formatting string used to component how the navigate url of hyperlink will be displayed.
*
* @var string
*/
protected $_dataUrlFormat = null;
/**
* The static url to display
*
* @var string
*/
protected $_staticUrl = null;
/**
* The static text to display
*
* @var string
*/
protected $_staticText = null;
/**
* The target of url
*
* @var string
*/
protected $_target = null;
/**
* Sets the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return Zend_DataGrid_Column_HyperLink
*/
public function setDataUrlField($name) {}
/**
* Gets the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return string
*/
public function getDataUrlField($name){}
/**
* Gets the fields names from the data source to bind to the url of hyperlink element
*
* @return array
*/
public function getDataUrlFields(){}
/**
* Adds the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return Zend_DataGrid_Column_HyperLink
*/
public function addDataUrlField($name) {}
/**
* Adds the fields names from the data source to bind to the url of hyperlink element
*
* @param string $names
* @return Zend_DataGrid_Column_HyperLink
*/
public function addDataUrlFields(array $names) {}
/**
* Set the formatting string used to control how the navigate url
* of hyperlink will be displayed.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setDataUrlFormat($value) {}
/**
* Gets the formatting string used to control how the navigate url
* of hyperlink will be displayed.
*
* @return string
*/
public function getDataUrlFormat() {}
/**
* Sets the static URL to link to when the hyperlink is clicked.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setStaticUrl($value){}
/**
* Gets the static URL to link to when the hyperlink is clicked.
*
* @param string $value
*/
public function getStaticUrl() {}
/**
* Sets the static text caption of the hyperlink.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setStaticText($value) {}
/**
* Gets the static text caption of the hyperlink
*
* @return string
*/
public function getStaticText() {}
/**
* Sets the target window or frame to display the Web page content
* linked to when the hyperlink is clicked.
*
* The target window, valid values include '_blank', '_parent', '_self', '_top' and empty string.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setTarget($value){}
/**
* Sets the target window or frame to display the Web page content
* linked to when the hyperlink is clicked.
*
* @return string
*/
public function getTarget() {}
}
{code}
{card}
{card:label=Image}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Image
*
* Base column to displays image
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Image extends Zend_DataGrid_Column
{}
{code}
{card}
{card:label=Literal}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Literal
* The literal column represents a static text column that is bound to a field in a data source.
* The cells in the column will be displayed with static texts using the data indexed by {@link setDataField}.
* You can customize the display by using the function {@link setDataFormatString}.
*
* If the {@link getDataFields} values is not specified, the cells will be filled with {@link getAutoFillValue}.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Literal extends Zend_DataGrid_Column
{
/**
* Defines a value to be printed if a cell in the column is null.
*
* @param string
* @return Zend_DataGrid_Column_Literal
*/
public function setAutoFillValue($value) {}
/**
* Get auto fill value if the cell est empty
*
* @return string
*/
public function getAutoFillValue() {}
}
{code}
{card}
{card:label=Radiobox}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Radiobox
*
* The Zend_DataGrid_Column_Radiobox represents a radiobox column that is bound to a field in a data source.
* The selected state of the radioboxes are determiend by the bound data at {@link getDataField}.
* If {@link getReadOnly} is false, the radiobox column will display an enabled radiobox
* provided the cells are in edit mode. Otherwise, the checkboxes will be disabled to prevent from editting
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Radiobox extends Zend_DataGrid_Column
{
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() { }
}
{code}
{card}
{card:label=Template}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Template
* The template column customizes rendering in the column with templates. In particular,
* you can specify the item, edit item, header and footer template to customize the column.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Template extends Zend_DataGrid_Column
{
/**
* The content of edit item template or the path to the partial
*
* @var string
*/
protected $_editItemTemplate=null;
/**
* The content of footer template or the path to the partial
*
* @var string
*/
protected $_footerTemplate=null;
/**
* The content of header template or the path to the partial
*
* @var string
*/
protected $_headerTemplate=null;
/**
* The content of item template or the path to the partial
*
* @var string
*/
protected $_itemTemplate=null;
/**
* Sets the edit item template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setEditItemTemplate($value) {}
/**
* Gets the edit item template
*
* @return string
*/
public function getEditItemTemplate() {}
/**
* Sets the footer template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setFooterTemplate($value) {}
/**
* Gets the footer template
*
* @return string
*/
public function getFooterTemplate() {}
/**
* Sets the header template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setHeaderTemplate($value) {}
/**
* Gets the header template
*
* @return string
*/
public function getHeaderTemplate() {}
/**
* Sets the item template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setItemTemplate($value) {}
/**
* Gets the item template
*
* @return string
*/
public function getItemTemplate(){}
}
{code}
{card}
{deck}
{zone-data}
{zone-template-instance}]]></ac:plain-text-body></ac:macro>
<p>This proposal is under construction and is not ready for review.</p></ac:rich-text-body></ac:macro>
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[{zone-template-instance:ZFPROP:Proposal Zone Template}
{zone-data:component-name}
Zend_DataGrid
{zone-data}
{zone-data:proposer-list}
[Aristide R. ZOUNGRANA|mailto:azoungrana@gmail.com]
[Mihai BOJIN|mailto:venom@mihaibojin.com]
{zone-data}
{zone-data:liaison}
TBD
{zone-data}
{zone-data:revision}
1.0 - 11 September 2008: Initial Draft.
{zone-data}
{zone-data:overview}
Zend_DataGrid is a component that displays the values of a data source in a table where each column represents a field and each row represents a record. The DataGrid component supports the following features:
Binding to data source controls, such as Zend_Db_Select, Zend_Db_Table, XML, CSV, RSS...Build-in columns capabilities (text, hyperlink, checkbox, radiobox, tree, template columns...).Built-in sorting capabilities.Built-in paging capabilities.Built-in row selection capabilities.Programmatic access to the DataGrid object model to dynamically set properties...Customizable appearance through styles.
{zone-data}
{zone-data:references}
* [GridView Wikipedia Entry|http://en.wikipedia.org/wiki/Grid_view]
* [.NET Datagrid|http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.aspx]
* [PEAR Structures Datagrid|http://pear.php.net/package/Structures_DataGrid]
* [JDatagrid|http://www.zfqjava.com/docs/api/com/zfqjava/swing/JDataGrid.html]
* [Framework Prado Datagrid|http://pradosoft.com/docs/manual/System.Web.UI.WebControls/TDataGrid.html]
* [Flash Datagrid|http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/DataGrid.html]
* [phpGrid|http://www.phpgrid.com/grid/ss/]
* [Example of Screenshots|http://petala-azul.com/blog/2008/09/14/some-screenshots/]
{zone-data}
{zone-data:requirements}
* This component *will* provide extensibility to create automatically Html Table.
* This component *will* provide XHTML valid output.
{zone-data}
{zone-data:dependencies}
* Zend_Exception
* Zend_Paginator
* Zend_Form_Element_*
* Zend_View_Helper_*
* Zend_Config_*
{zone-data}
{zone-data:operation}
The component will displays grid in HTML, XML... formats with few renderers
{zone-data}
{zone-data:milestones}
* Milestone 1: Initial class design
* Milestone 2: Create prototype
* Milestone 3: Finish proposal and submit for community review
* Milestone 4: Create code-covering unit tests
* Milestone 5: Initial documentation exists.
{zone-data}
{zone-data:class-list}
* Zend_DataGrid
* Zend_DataGrid_Exception
* Zend_DataGrid_Column
* Zend_DataGrid_DisplayGroup
* Zend_DataGrid_Column_Button
* Zend_DataGrid_Column_Checkbox
* Zend_DataGrid_Column_DropDownList
* Zend_DataGrid_Column_EditCommand
* Zend_DataGrid_Column_HyperLink
* Zend_DataGrid_Column_Image
* Zend_DataGrid_Column_Literal
* Zend_DataGrid_Column_Radiobox
* Zend_DataGrid_Column_Template
* Zend_DataGrid_Column_Exception
* Zend_DataGrid_Renderer_Abstract
* Zend_DataGrid_Renderer_Xhtml
* Zend_DataGrid_Renderer_CVS
* Zend_DataGrid_Renderer_Exception
* Zend_DataGrid_Datasource_Abstract
* Zend_DataGrid_Datasource_Array
* Zend_DataGrid_Datasource_DbSelect
* Zend_DataGrid_Datasource_DbTable
* Zend_DataGrid_Datasource_Xml
* Zend_DataGrid_Datasource_Exception
* Zend_View_Helper_Datagrid
{zone-data}
{zone-data:use-cases}
{composition-setup}
{deck:id=use-cases1}
{card:label=UC 1 : The model of data}
UC1: The model of data
{code}
class App_MyDataGrid extends Zend_DataGrid
{
public function init()
{
parent::init();
$id = new Inova_DataGrid_Column_Literal('#');
$id->setHeaderText(' # ')
->setDataField('mnu_lis_id');
$select = new Inova_DataGrid_Column_Checkbox('id');
$select->setHeaderText('')
->setDataField('mnu_lis_id');
$radio = new Inova_DataGrid_Column_Radio('id');
$radio->setHeaderText('Choix')
->setDataField('mnu_lis_id');
$title = new Inova_DataGrid_Column_HyperLink('title');
$title->setHeaderText('Nom du menu')
->setDataField('mnu_elt_title')
->setTreeLevelDataField('mnu_list_tree')
->setDataUrlField('mnu_elt_id')
->setDataUrlFormatString($editActionUrl.'/id/%1$d');
$alias = new Inova_DataGrid_Column_Literal('alias');
$alias->setHeaderText('Alias')
->setDataField('mnu_elt_alias');
$desc = new Inova_DataGrid_Column_Literal('desc');
$desc->setHeaderText('Description')
->setDataField('mnu_elt_desc')
->addFilter('StringToLower');
$link = new Inova_DataGrid_Column_Literal('link');
$link->setHeaderText('Lien')
->setDataField('mnu_elt_link');
$this->addColumn($id)
->addColumn($select)
->addColumn($title)
->addColumn($alias)
->addColumn($desc)
->addColumn($link);
$this->setName('myListeGrid')
->setForm('mnuListeForm','mnu/liste')
->bindDataTable(new App_MyDbTable(),'findSqlSelect');
return $this;
}
}
{code}
{card}
{card:label=UC 2 : In action controller}
UC 2 : In action controller
{code}
class Mnu_ListeController extends Intranet_Controller_Action
{
...
public function indexAction()
{
$options = Zend_Config....
$this->view->datagrid = new App_MyDataGrid($options);
$this->view->datagrid->addPagerParam('paramForPaginationControl', $value);
...
}
}
{code}
{card}
{card:label=UC 3 : In view}
UC 3 : In view
{code}
datagrid->render(); ?>
{code}
{card}
{card:label=UC 4 : datagrid view helper}
UC 4: Simple usage, Only With datagrid view helper
{code}
$datasource = array(
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3'),
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3'),
array('columnName1' => 'columnValue1', 'columnName2' => 'columnValue2', 'columnName3' => 'columnValue3') );
echo $this->datagrid($datasource);
?
{code}
{card}
{deck}
{zone-data}
{zone-data:skeletons}
{composition-setup}
{deck:id=datagrid}
{card:label=Zend_DataGrid_Exception}
Zend_DataGrid_Exception
{code}
class Zend_DataGrid_Exception extends Zend_Exception {}
{code}
{card}
{card:label=Zend_DataGrid}
Zend_DataGrid
{code}
/** @see Zend_Paginator */
require_once 'Zend/Paginator.php';
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_DataGrid_DisplayGroup */
require_once 'Zend/DataGrid/DisplayGroup.php';
/**
* Class for datagrid generation
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DataGrid.php 6137 2008-09-11 21:29:27Z azoungrana $
*/
class Zend_DataGrid
{
const DEFAULT_RENDER = 'Xhtml';
/**
* Array of columns
*
* @var array
*/
protected $_columns = array();
/**
* The data source object
*
* @var Zend_DataGrid_Datasource
*/
protected $_datasource = null;
/**
* The pager component
*
* @var Zend_Paginator
*/
protected $_pager = null;
/**
* Array of records.
*
* @var mixed
*/
protected $_recordSet = null;
/**
* The renderer objet
*
* @var Zend_Renderer_Abstract
*/
protected $_renderer = null;
/**
* Constructor
*
* @var array|Zend_Config $options
*/
public function __construct($options)
{
}
//metadata
/**
* Set element allow sorting
*
* @param boolean $order
* @return Zend_DataGrid
*/
public function setAllowSorting($value) { }
/**
* Retrieve element allow sorting
*
* @return boolean
*/
public function getAllowSorting() {}
//columns
/**
* Add a column
*
* @param Zend_DataGrid_Column
*/
public function addColumn($column){}
/**
* Inserts a column at the specified index in the columns array
*
* @param Zend_DataGrid_Column
* @param integer $index
* @return Zend_DataGrid
*/
public function addColumnAt($column, $index = null){}
/**
* Return the current columns
*
* @param string $name
* @return array
*/
public function getColumn($name) {}
/**
* Retrieves the column that is located at the specified index of the columns arra
*
* @param integer $index
* @return array
*/
public function getColumnAt($index) {}
/**
* Remove column specify by it name
*
* @param string
* @return zend_DataGrid
*/
public function removeColumn($name) {}
/**
* Removes the column that is located at the specified index of the columns array
*
* @param string
* @return zend_DataGrid
*/
public function removeColumnAt($index) {}
/**
* Removes columns specify by its names ou removes all columns
*
* @param array
* @return zend_DataGrid
*/
public function removeColumns(array $names = null) {}
/**
* Return the current columns
*
* @return array
*/
public function getColumns() {}
/**
* Returns the number of columns
*
* @return integer
*/
public function getColumnCount() {}
/**
* Generate columns from a fields list
* This is a shortcut for adding simple columns easily, instead of creating them manually and calling addColumn() for each.
* The generated columns are appended to the current column set.
*
* <example>
* array( 'columnIdInDatasource'=> 'ColumnLabel', ...)
* </example>
*
* @param array $columns the columns to generate
* @return Zend_DataGrid
*/
public function generateColumns(array $columns) {}
/**
* Auto generate the columns if no explicity specify
*
* @return Zend_DataGrid
*/
public function autogenerateColumns($value) {}
//datasource
/**
* Get the currently loaded DataSource object
*
* @return Zend_DataGrid_Datasource
*/
public function getDatasource(){}
/**
*
* @param array|Zend_Config $options The options for datasource, such as the type of datasource, xml, dsn...
*/
public function setDatasource($datasource, $options = null){}
/**
* Set a single datasource option
*
* @param string $name
* @param mixed $value
* @return Zend_DataGrid
*/
public function setDataSourceOption($name, $value) {}
/**
* Set multiple datasource options
*
* @param array $options An associative array of the form: array("option_name" => "option_value",...)
* @return Zend_DataGrid
*/
public function setDataSourceOptions(array $options) {}
/**
* Returns the total number of records
*
* @return integer
*/
public function getItemsCount(){}
/**
* Request the recordset to sort its data
*
* @return Zend_DataGrid
*/
public function sortItems() {}
/**
* Bind data to datagrid
*
* @see Zend_DataGrid::setDatasource
* @return Zend_DataGrid
*/
public function dataBind($data) {}
public function getItems() {}
//pager
/**
* Retrieves the datagrid paginator
*
* @return Zend_Paginator
*/
public function getPager(){}
/**
* Define the dtagrid pager
*/
public function setPager($pager){}
/**
* Retrieves the current page number when paging is implemented
*
* @return integer
*/
public function getCurrentPage() {}
/**
* Define the current page number.
* This method is used when paging is implemented
*
* @param integer $value
* @return Zend_DataGrid
*/
public function setCurrentPage($value) {}
//rendering
/**
* Get the current or default Rendering object
*
* @return Zend_DataGrid_Renderer_Abstract
*/
public function getRenderer() {}
/**
* Set Renderer
*
* @param string|Zend_DataGrid_Renderer $type
* @param array|Zend_Config $options
*/
public function setRenderer($type, $options) {}
/**
* Set a single renderer option
*
* @param string $name
* @param mixed $value
* @return Zend_DataGrid
*/
public function setRendererOption($name, $value) {}
/**
* Set multiple renderer options
*
* @param array $options An associative array of the form: array("option_name" => "option_value",...)
* @return Zend_DataGrid
*/
public function setRendererOptions(array $options) {}
public function render(Zend_View_Interface $view){}
public function renderPager(Zend_View_Interface $view){}
// events
public function getEditItem() {}
public function setEditItemIndex($value) {}
public function getEditItemIndex() {}
public function getSelectedItem() {}
public function setSelectedItemIndex() {}
public function getSelectedItemIndex() {}
public function onEditCommand($param) {}
public function onCancelCommand($param) {}
public function onSelectCommand($param) {}
public function onDeleteCommand($param) {}
public function onUpdateCommand($param) {}
public function onPageIndexChanged($param) {}
public function onSortCommand($param) {}
}
{code}
{card}
{deck}
h3. The design of columns
{deck:id=columns}
{card:label=DisplayGroup}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_DataGrid_Exception */
require_once 'Zend/DataGrid/Exception.php';
/**
* Zend_Form_DisplayGroup
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DisplayGroup.php 10406 2008-09-19 15:13:05Z azoungrana $
*/
class Zend_DataGrid_DisplayGroup
{
/**
* Columns
* @var array
*/
protected $_columnss = array();
/**
* The display group column order
* @var array
*/
protected $_columnOrder = array();
/**
* Column footer text
* @var string
*/
protected $_footerText;
/**
* Column header text
* @var string
*/
protected $_headerText;
/**
* Display group name
* @var string
*/
protected $_name;
/**
* Renderer attributes for this column
*/
protected $_rendererOptions = array();
/**
* Column visibility. Allow hidden column
* @var boolean
*/
protected $_visible;
/**
* Constructor
*
* @param string $name
* @param array|Zend_Config $options
* @return void
*/
public function __construct($name, $options = null) {}
/**
* Initialize object; used by extending classes
*
* @return void
*/
public function init() {}
/**
* Set options
*
* @param array $options
* @return Zend_DataGrid_DisplayGroup
*/
public function setOptions(array $options) {}
/**
* Set options from config object
*
* @param Zend_Config $config
* @return Zend_DataGrid_DisplayGroup
*/
public function setConfig(Zend_Config $config) {}
//Attributes and Metadata
/**
* Set element attribute
*
* @param string $name
* @param string $value
* @return Zend_DataGrid_DisplayGroup
* @throws Zend_DataGrid_Exception for invalid $name values
*/
public function setRendererOption($name, $value, $position='item') { }
/**
* Set the column XML/HTML attributes
*
* @param array
* @return Zend_DataGrid_DisplayGroup
*/
public function setRendererOptions($attributes) {}
/**
* Get the column XML/HTML attributes
*
* @return array
*/
public function getRendererOptions() {}
/**
* Add attributes
*
* @param string $name
* @param string|integer $value
* @return Zend_DataGrid_DisplayGroup
*/
public function addRendererOption($name, $value) {}
/**
* Set element name
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setName($name){}
/**
* Return element name
*
* @return string
*/
public function getName() {}
/**
* Set element header text
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setHeaderText($name) { }
/**
* Return element header text
*
* @return string
*/
public function getHeaderText() {}
/**
* Set element footer text
*
* @param string $name
* @return Zend_DataGrid_DisplayGroup
*/
public function setFooterText($name){ }
/**
* Return element footer text
*
* @return string
*/
public function getFooterText() { }
/**
* Set element order
*
* @param int $order
* @return Zend_DataGrid_DisplayGroup
*/
public function setOrder($order){}
/**
* Retrieve element order
*
* @return int
*/
public function getOrder() {}
/**
* Set element visibility
*
* @param boolean $order
* @return Zend_DataGrid_DisplayGroup
*/
public function setVisible($value) {}
/**
* Retrieve element visibility
*
* @return boolean
*/
public function getVisible() { }
/**
* Return elment type
*
* @return string
*/
public function getType(){}
// Columns
/**
* Add column to stack
*
* @param Zend_DataGrid_Column $column
* @return Zend_DataGrid_DisplayGroup
*/
public function addColumn(Zend_DataGrid_Column $column) {}
/**
* Add multiple columns at once
*
* @param array $columnss
* @return Zend_DataGrid_DisplayGroup
* @throws Zend_Datagrid_Exception if any element is not a Zend_DataGrid_Column
*/
public function addColumns(array $columnss) {}
/**
* Set multiple columns at once (overwrites)
*
* @param array $columns
* @return Zend_DataGrid_DisplayGroup
*/
public function setColumns(array $columns) {}
/**
* Retrieve columns
*
* @param string $name
* @return Zend_DataGrid_Column|null
*/
public function getColumn($name) {}
/**
* Retrieve columns
* @return array
*/
public function getColumns() {}
/**
* Remove a single column
*
* @param string $name
* @return boolean
*/
public function removeColumn($name) {}
/**
* Remove all columns
*
* @return Zend_DataGrid_DisplayGroup
*/
public function clearColumns() {}
}
{code}
{card}
{card:label=Column}
{code}
/** @see Zend_Filter */
require_once 'Zend/Filter.php';
/**
* Zend_DataGrid_Column
*
* @category Zend
* @package Zend_DataGrid
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Column.php 6137 2008-09-12 18:13:27Z azoungrana $
*/
class Zend_DataGrid_Column
{
/**
* Default sort Direction
*/
const DEFAULT_SORT_DIRECTION = 'ASC';
/**
* Default allow sorting value
*/
const DEFAULT_ALLOW_SORTING = false;
/**
* Allow sorting of column element
* @var boolean
*/
protected $_allowSorting;
/**
* The value to be used if a cell is empty
*
* @var string
*/
protected $_autoFillValue = null;
/**
* The names of the field to map to
*
* @var array
*/
protected $_dataFields = array();
/**
* The formatting string used to control how the bound data will be displayed
*
* @var string
*/
protected $_dataFormatString;
/**
* The fields name to order by. Optional
*
* @var array
*/
protected $_fieldsOrderBy = array();
/**
* The filters to use for the formatting of column
*
* @var array
*/
protected $_filters = array();
/**
* Column footer text
* @var string
*/
protected $_footerText;
/**
* The form element
*
* @var Zend_Form_Element
*/
protected $_formElement = null;
/**
* Column header text
* @var string
*/
protected $_headerText;
/**
* The name (unique id) of column
*
* @var string
*/
protected $_name = null;
/**
* Order of element in the collection of columns
* @var int
*/
protected $_order;
/**
* Renderer attributes for this column
*/
protected $_rendererOptions = array();
/**
* Direction to sort the data (ASC,DESC
*
* @var string
*/
protected $_sortDirection = null;
/**
* The datagrid column translator
*
* @var Zend_Translate_Adapter
*/
protected $_translator;
/**
* Tree element for tree datafield
* @var string
*/
protected $_treeLevelDataField = null;
/**
* Column visibility. Allow hidden column
* @var boolean
*/
protected $_visible;
/**
* Constructor
*
* $spec may be:
* - string: name of element
* - array: options with which to configure element
* - Zend_Config: Zend_Config with options for configuring element
*
* @param string|array|Zend_Config $spec
* @return void
* @throws Zend_DataGrid_Column_Exception if no element name after initialization
*/
public function __construct($spec, $options = null)
{}
//Option configuration
/**
* Set object state from options array
*
* @param array $options
* @return Zend_DataGrid_Column
*/
public function setOptions(array $options) {}
/**
* Set object state from Zend_Config object
*
* @param Zend_Config $config
* @return Zend_DataGrid_Column
*/
public function setConfig(Zend_Config $config){}
//Attributes and Metadata
/**
* Set element attribute
*
* @param string $name
* @param string $value
* @return Inova_DataGrid_Column
* @throws Zend_DataGrid_Column_Exception for invalid $name values
*/
public function setRendererOption($name, $value, $position='item') { }
/**
* Set the column XML/HTML attributes
*
* @param array
* @return Zend_DataGrid_Column
*/
public function setRendererOptions($attributes) {}
/**
* Get the column XML/HTML attributes
*
* @return array
*/
public function getRendererOptions() {}
/**
* Add attributes
*
* @param string $name
* @param string|integer $value
* @return Zend_DataGrid_Column
*/
public function addRendererOption($name, $value) {}
/**
* Set element name
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setName($name){}
/**
* Return element name
*
* @return string
*/
public function getName() {}
/**
* Set element header text
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setHeaderText($name) { }
/**
* Return element header text
*
* @return string
*/
public function getHeaderText() {}
/**
* Set element footer text
*
* @param string $name
* @return Inova_DataGrid_Column
*/
public function setFooterText($name){ }
/**
* Return element footer text
*
* @return string
*/
public function getFooterText() { }
/**
* Set element order
*
* @param int $order
* @return Zend_DataGrid_Column
*/
public function setOrder($order){}
/**
* Retrieve element order
*
* @return int
*/
public function getOrder() {}
/**
* Set element allow sorting
*
* @param boolean $order
* @return Zend_DataGrid_Column
*/
public function setAllowSorting($value) { }
/**
* Retrieve element allow sorting
*
* @return boolean
*/
public function getAllowSorting() {}
/**
* Set element visibility
*
* @param boolean $order
* @return Zend_DataGrid_Column
*/
public function setVisible($value) {}
/**
* Retrieve element visibility
*
* @return boolean
*/
public function getVisible() { }
/**
* Return elment type
*
* @return string
*/
public function getType(){}
//Datafields and dataformat
/**
* Set element datafield
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setDataField($name) {}
/**
* Return element datafield
*
* @return string
*/
public function getDataField($name) {}
/**
* Return element datafields
*
* @return string
*/
public function getDataFields() {}
/**
* Add element datafield
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function addDataField($name) {}
/**
* Add element datafields
*
* @param array $names
* @return Zend_DataGrid_Column
*/
public function addDataFields(array $names){}
/**
* Set element data format string
*
* @param string $name the formatting string used by renderer how the bound data will be displayed
* @return Zend_DataGrid_Column
*/
public function setDataFormat($name){}
/**
* Return element data format string
*
* @return string the formatting string used by renderer how the bound data will be displayed
*/
public function getDataFormat() {}
/**
* Set tree element for tree datafield
*
* <example> The renderer will generate
* | text1
* | |- text2
* |- |- text3
* | text4
* | ...
* </example>
*
* @param string $name
* @return Zend_DataGrid_Column
*/
public function setTreeLevelDataField($name){}
/**
* Return tree element for tree datafield
*
* @return string
*/
public function getTreeLevelDataField(){}
//form element and its filters, validators...
/**
* Sets the form element
*
* @param Zend_Form_Element
* @return Zend_DataGrid_Column_EditCommand
*/
public function setFormElement($element) {}
/*
* Gets the form element
*
* @return Zend_Form_Element
*/
public function getFormElement() {}
//filter
/**
* Retrieve a single filter by name
*
* @param string $name
* @return Zend_Filter_Interface
*/
public function getFilter($name) {}
/**
* Get all filters
*
* @return array
*/
public function getFilters() {}
public function setFilter($filter) {}
/**
* Add filters to element, overwriting any already existing
*
* @param array $filters
* @return Zend_DataGrid_Column
*/
public function setFilters(array $filters) {}
/**
* Add a filter to the element
*
* @param string|Zend_Filter_Interface $filter
* @return Zend_DataGrid_Column
*/
public function addFilter($filter) {}
/**
* Add filters to element
*
* @param array $filters
* @return Zend_DataGrid_Column
*/
public function addFilters(array $filters){}
/**
* Remove a filter by name
*
* @param string $name
* @return boolean
*/
public function removeFilter($filter) {}
/**
* Clear all filters
*
* @return Zend_DataGrid_Column
*/
public function clearFilters() {}
/**
* Filter the content
*
* @param string $content
* @return string
*/
protected function filter($content) {}
// Localization
/**
* Set translator object for localization
*
* @param Zend_Translate_Adapter $translator
* @return Zend_DataGrid_Column
*/
public function setTranslator(Zend_Translate_Adapter $translator = null){}
/**
* Retrieve localization translator object
*
* @return Zend_Translate_Adapter
*/
public function getTranslator(){}
//sorting
public function setSortDirection($direction){}
/**
* Return the default direction to order this column by
* Return ASC or DESC
*
* @return string
*/
public function getDefaultDirection() {}
}
{code}
{card}
{card:label=Button}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Button
*
* The button column contains a user-defined command button, such as Add or Remove, that corresponds with each row in the column.
*
* The caption of the buttons in the column is determined by {@link getText} and {@link getDataField}. If both are present,
* the latter takes precedence. The DataField property refers to the name of the field in datasource whose value will be
* used as the button caption. If DataTextFormat is not empty, the value will be formatted before rendering.
*
* The buttons in the column can be set to display as hyperlinks or push buttons by setting the ButtonType property.
* The CommandName will assign its value to all button's CommandName property. The datagrid will capture the command
* event where you can write event handlers based on different command names.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Button.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_Button extends Zend_DataGrid_Column
{
/**#@+
* The type of editing button
*/
const BUTTON_HYPERLINK = 'hyperlink';
const BUTTON_PUSH = 'push';
const BUTTON_IMAGE = 'image';
/**#@-*/
/**
* The button type
*
* @var string
*/
protected $_buttonType = null;
/**
* The command name
*
* @var string
*/
protected $_commandName = null;
/**
* The data image url field
*
* @var string
*/
protected $_dataUrlImageField = null;
/**
* The data image url format
*
* @var string
*/
protected $_dataImageUrlFormat = null;
/**
* The url of image
*
* @var string
*/
protected $_imageUrl = null;
/**
* The button text
*
* @var string
*/
protected $_buttonText = null;
/**
* Sets the type of command button. Defaults to self::BUTTON_HYPERLINK
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setButtonType($value) {}
/**
* Gets the type of command button. Defaults to self::BUTTON_HYPERLINK
*
* @return string
*/
public function getButtonType() {}
/**
* Sets the command name associated with the Command event
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setCommandName($value) {}
/**
* Gets the command name associated with the Command event
*
* @return string
*/
public function getCommandName() {}
/**
* Sets the field name from the data source to bind to the button image url
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setDataImageUrlField($value) {}
/**
* Gets the field name from the data source to bind to the button image url
*
* @return string
*/
public function getDataImageUrlField() {}
/**
* Return the fields names from the data source to bind to the button image url
*
* @return string
*/
public function getDataImageUrlFields() {}
/**
* Add a field name from the data source to bind to the button image url
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function addDataImageUrlField($value) {}
/**
* Add fields names from the data source to bind to the button image url
*
* @param array $values
* @return Zend_DataGrid_Column_Button
*/
public function addDataImageUrlFields(array $values){}
/**
* Sets the formatting string used to control how the button image url will be displayed.
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setDataImageUrlFormat($value) {}
/**
* Gets the formatting string used to control how the button image url will be displayed.
*
* @return string
*/
public function getDataImageUrlFormat() {}
/**
* Sets the URL of the image file for image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setImageUrl($value) {}
/**
* Gets the URL of the image file for image buttons
*
* @return string
*/
public function getImageUrl() {}
/**
* Sets the text caption of the button
*
* @param string $value
* @return Zend_DataGrid_Column_Button
*/
public function setText() {}
/**
* Gets the text caption of the button
*
* @return string
*/
public function getText() {}
}
{code}
{card}
{card:label=Checkbox}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Checkbox
*
* The Zend_DataGrid_Column_Checkbox represents a checkbox column that is bound to a field in a data source.
* The checked state of the checkboxes are determiend by the bound data at {@link getDataField}.
* If {@link getReadOnly} is false, the checkbox column will display an enabled checkbox
* provided the cells are in edit mode. Otherwise, the checkboxes will be disabled to prevent from editting
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Checkbox.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_Checkbox extends Zend_DataGrid_Column
{
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column_Checkbox
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() {}
/**
* Sets the data bound field that determines if the checkbox in each row is checked or no
*
* @param string $name
* @return Zend_DataGrid_Column_Checkbox
*/
public function setCheckedField($name) {}
/**
* Gets the data bound field that determines if the checkbox in each row is checked or no
*
* @return string
*/
public function getCheckedField() {}
}
{code}
{card}
{card:label=DropDownList}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_DropDownList
*
* The cells in the column will be displayed using the data indexed by {@link setDataField}.
* You can customize the display by setting {@link setDataFormat}.
*
* If {@link getReadOnly} is false, the Column will display cells in edit mode with dropdown lists.
* Otherwise, a static text is displayed. The currently selected dropndown list item is specified by the data indexed with {@link getDataValueField}.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: DropDownList.php 6137 2008-09-19 11:43:27Z azoungrana $
*/
class Zend_DataGrid_Column_DropDownList extends Zend_DataGrid_Column
{
/**
* The data field value
*
* @var string
*/
protected $_dataValueField = null;
/**
* The data source
*
* @var mixed
*/
protected $_listDataSource = null;
/**
* The data text field
*
* @var string
*/
protected $_listTextField = null;
/**
* The data list text field
*
* @var string
*/
protected $_listTextFormat = null;
/**
* The data list value
*
* @var string
*/
protected $_listValueField = null;
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Sets the field of the data source that provides the key selecting an item in dropdown list
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setDataValueField($value) {}
/**
* Gets the field of the data source that provides the key selecting an item in dropdown list
*
* @return string
*/
public function getDataValueField() {}
/**
* Sets data source to be bound to the dropdown list boxes
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListDataSource($value) {}
/**
* Gets data source to be bound to the dropdown list boxes
*
* @return mixed
*/
public function getListDataSource() {}
/**
* Sets the data field used to populate the texts of the dropdown list items. Defaults to empty.
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListTextField($value) {}
/**
* Gets the data field used to populate the texts of the dropdown list items. Defaults to empty.
*
* @param string $value
* @return string
*/
public function getListTextField($value) {}
/**
* Returns the data fields used to populate the texts of the dropdown list items.
*
* @return string
*/
public function getListTextFields() {}
/**
* Adds a data field used to populate the texts of the dropdown list items
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function addListTextField($value) {}
/**
* Adds data fields used to populate the texts of the dropdown list items
*
* @param array $values
* @return Zend_DataGrid_Column_DropDownList
*/
public function addlistTextFields(array $values){}
/**
* Sets the formatting string used to control how the list item texts will be displayed
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListTextFormat($value) {}
/**
* Gets the formatting string used to control how the list item texts will be displayed
*
* @return string
*/
public function getListTextFormat() {}
/**
* Sets the data field used to populate the values of the dropdown list items. Defaults to empty
*
* @param string $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setListValueField($value) {}
/**
* Gets the data field used to populate the values of the dropdown list items. Defaults to empty
*
* @return string
*/
public function getListValueField() {}
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column_DropDownList
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() { }
}
{code}
{card}
{card:label=EditCommand}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/** @see Zend_Form_Element */
require_once 'Zend/Form/Element.php';
/**
* Zend_DataGrid_Column_EditCommand
*
* The Edit Command column contains the Edit command buttons for editing data items in each row (Edit, Update, Cancel)
* The button captions are specified using {@link setEditText}, {@link setUpdateText}, and {@link setCancelText}
* The buttons in the column can be set to display as hyperlinks, push or image buttons by setting the ButtonType property.
*
* When an edit button is clicked, the datagrid will generate an onEditCommand event. When an update/cancel
* button is clicked, the datagrid will generate an onUpdateCommand or an onCancelCommand. You can write
* these event handlers to change the state of specific datagrid item.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: EditCommand.php 6137 2008-09-13 17:37:27Z azoungrana $
*/
class Zend_DataGrid_Column_EditCommand extends Zend_DataGrid_Column
{
/**#@+
* The type of editing button
*/
const BUTTON_HYPERLINK = 'hyperlink';
const BUTTON_PUSH = 'push';
const BUTTON_IMAGE = 'image';
/**#@-*/
/**
* Default button type
*/
const DEFAULT_BUTTON_TYPE = 'hyperlink';
/**
* Default button label
*/
const DEFAULT_CANCEL_LABEL = 'Cancel';
const DEFAULT_EDIT_LABEL = 'Edit';
const DEFAULT_UPDATE_LABEL = 'Update';
/**#@-*/
/**
* The button type
*
* @var string
*/
protected $_buttonType = null;
/**
* The cancel image url
*
* @var string
*/
protected $_canceImageUrl = null;
/**
* The cancel text
*
* @var string
*/
protected $_cancelText = null;
/**
* The edit image url
*
* @var string
*/
protected $_editImageUrl = null;
/**
* The edit text
*
* @var string
*/
protected $_editText = null;
/**
* The update image url
*
* @var string
*/
protected $_updateImageUrl = null;
/**
* The update text
*
* @var string
*/
protected $_updateText = null;
/**
* Sets the type of command button
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setButtonType($value) {}
/**
* Gets the type of command button
*
* @return string
*/
public function getButtonType() {}
/**
* Sets the URL of the image file for cancel image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setCancelImageUrl($value) {}
/**
* Gets the URL of the image file for cancel image buttons
*
* @return string
*/
public function getCancelImageUrl() {}
/**
* Sets the caption of the cancel button. Defaults to 'Cancel'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setCancelText($value) {}
/**
* Gets the caption of the cancel button. Defaults to 'Cancel'.
*
* @return string
*/
public function getCancelText() {}
/**
* Sets the URL of the image file for edit image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setEditImageUrl($value) {}
/**
* Gets the URL of the image file for edit image buttons
*
* @return string
*/
public function getEditImageUrl() {}
/**
* Sets the caption of the edit button. Defaults to 'Edit'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setEditText($value) {}
/**
* Gets the caption of the edit button. Defaults to 'Edit'.
*
* @return string
*/
public function getEditText() {}
/**
* Sets the URL of the image file for update image buttons
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setUpdateImageUrl($value) {}
/**
* Gets the URL of the image file for update image buttons
*
* @return string
*/
public function getUpdateImageUrl() {}
/**
* Sets the caption of the update button. Defaults to 'Update'.
*
* @param string $value
* @return Zend_DataGrid_Column_EditCommand
*/
public function setUpdateText($value) {}
/**
* Gets the caption of the update button. Defaults to 'Update'.
*
* @return string
*/
public function getUpdateText() {}
}
{code}
{card}
{card:label=Exception}
{code}
/** @see Zend_DataGrid_Exception */
require_once 'Zend/DataGrid/Exception.php';
/**
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Exception.php 8862 2008-09-12 18:45:00Z azoungrana $
*/
class Zend_DataGrid_Column_Exception extends Zend_DataGrid_Exception
{}
{code}
{card}
{card:label=HyperLink}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_HyperLink
* The hyperlink column contains a hyperlink for each item in the column. You can set the
* text and the url of the hyperlink by {@link setText} and {@link setUrl}, respectively.
* You can also bind the text and url to specific data field in datasource by setting
* {@link setDataUrlField}. Itcan be formatted before rendering according to {@link getDataUrlFormat} value.
*
* If both {@link getText} and {@link getDataFormatString} are present, the latter takes precedence.
* The same rule applies to {@link getUrl} and {@link getDataUrlFormat} values.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_HyperLink extends Zend_DataGrid_Column
{
/**
* The list of target
*/
const TARGET_LIST = array( '_blank', '_parent', '_self', '_top');
/**
* The fields from the data source to bind to the url of hyperlink element
*
* @var array
*/
protected $_dataUrlField = array();
/**
* The formatting string used to component how the navigate url of hyperlink will be displayed.
*
* @var string
*/
protected $_dataUrlFormat = null;
/**
* The static url to display
*
* @var string
*/
protected $_staticUrl = null;
/**
* The static text to display
*
* @var string
*/
protected $_staticText = null;
/**
* The target of url
*
* @var string
*/
protected $_target = null;
/**
* Sets the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return Zend_DataGrid_Column_HyperLink
*/
public function setDataUrlField($name) {}
/**
* Gets the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return string
*/
public function getDataUrlField($name){}
/**
* Gets the fields names from the data source to bind to the url of hyperlink element
*
* @return array
*/
public function getDataUrlFields(){}
/**
* Adds the field name from the data source to bind to the url of hyperlink element
*
* @param string $name
* @return Zend_DataGrid_Column_HyperLink
*/
public function addDataUrlField($name) {}
/**
* Adds the fields names from the data source to bind to the url of hyperlink element
*
* @param string $names
* @return Zend_DataGrid_Column_HyperLink
*/
public function addDataUrlFields(array $names) {}
/**
* Set the formatting string used to control how the navigate url
* of hyperlink will be displayed.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setDataUrlFormat($value) {}
/**
* Gets the formatting string used to control how the navigate url
* of hyperlink will be displayed.
*
* @return string
*/
public function getDataUrlFormat() {}
/**
* Sets the static URL to link to when the hyperlink is clicked.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setStaticUrl($value){}
/**
* Gets the static URL to link to when the hyperlink is clicked.
*
* @param string $value
*/
public function getStaticUrl() {}
/**
* Sets the static text caption of the hyperlink.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setStaticText($value) {}
/**
* Gets the static text caption of the hyperlink
*
* @return string
*/
public function getStaticText() {}
/**
* Sets the target window or frame to display the Web page content
* linked to when the hyperlink is clicked.
*
* The target window, valid values include '_blank', '_parent', '_self', '_top' and empty string.
*
* @param string $value
* @return Zend_DataGrid_Column_HyperLink
*/
public function setTarget($value){}
/**
* Sets the target window or frame to display the Web page content
* linked to when the hyperlink is clicked.
*
* @return string
*/
public function getTarget() {}
}
{code}
{card}
{card:label=Image}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Image
*
* Base column to displays image
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Image extends Zend_DataGrid_Column
{}
{code}
{card}
{card:label=Literal}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Literal
* The literal column represents a static text column that is bound to a field in a data source.
* The cells in the column will be displayed with static texts using the data indexed by {@link setDataField}.
* You can customize the display by using the function {@link setDataFormatString}.
*
* If the {@link getDataFields} values is not specified, the cells will be filled with {@link getAutoFillValue}.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Literal extends Zend_DataGrid_Column
{
/**
* Defines a value to be printed if a cell in the column is null.
*
* @param string
* @return Zend_DataGrid_Column_Literal
*/
public function setAutoFillValue($value) {}
/**
* Get auto fill value if the cell est empty
*
* @return string
*/
public function getAutoFillValue() {}
}
{code}
{card}
{card:label=Radiobox}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Radiobox
*
* The Zend_DataGrid_Column_Radiobox represents a radiobox column that is bound to a field in a data source.
* The selected state of the radioboxes are determiend by the bound data at {@link getDataField}.
* If {@link getReadOnly} is false, the radiobox column will display an enabled radiobox
* provided the cells are in edit mode. Otherwise, the checkboxes will be disabled to prevent from editting
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Radiobox extends Zend_DataGrid_Column
{
/**
* Whether the items in the column can be edited. Defaults to false.
*
* @var boolean
*/
protected $_readOnly = false;
/**
* Set element read only
*
* @param boolean $value
* @return Zend_DataGrid_Column
*/
public function setReadOnly($value) {}
/**
* Retrieve element read only
*
* @return boolean
*/
public function getReadOnly() { }
}
{code}
{card}
{card:label=Template}
{code}
/** @see Zend_DataGrid_Column */
require_once 'Zend/DataGrid/Column.php';
/**
* Zend_DataGrid_Column_Template
* The template column customizes rendering in the column with templates. In particular,
* you can specify the item, edit item, header and footer template to customize the column.
*
* @category Zend
* @package Zend_DataGrid
* @subpackage Column
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_DataGrid_Column_Template extends Zend_DataGrid_Column
{
/**
* The content of edit item template or the path to the partial
*
* @var string
*/
protected $_editItemTemplate=null;
/**
* The content of footer template or the path to the partial
*
* @var string
*/
protected $_footerTemplate=null;
/**
* The content of header template or the path to the partial
*
* @var string
*/
protected $_headerTemplate=null;
/**
* The content of item template or the path to the partial
*
* @var string
*/
protected $_itemTemplate=null;
/**
* Sets the edit item template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setEditItemTemplate($value) {}
/**
* Gets the edit item template
*
* @return string
*/
public function getEditItemTemplate() {}
/**
* Sets the footer template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setFooterTemplate($value) {}
/**
* Gets the footer template
*
* @return string
*/
public function getFooterTemplate() {}
/**
* Sets the header template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setHeaderTemplate($value) {}
/**
* Gets the header template
*
* @return string
*/
public function getHeaderTemplate() {}
/**
* Sets the item template
*
* @param string the content or the partial path
* @return Zend_DataGrid_Column_Template
*/
public function setItemTemplate($value) {}
/**
* Gets the item template
*
* @return string
*/
public function getItemTemplate(){}
}
{code}
{card}
{deck}
{zone-data}
{zone-template-instance}]]></ac:plain-text-body></ac:macro>