PHP 클래스 Prado\Web\UI\WebControls\TDataGridColumn

TDataGridColumn serves as the base class for the different column types of the {@link TDataGrid} control. TDataGridColumn defines the properties and methods that are common among all datagrid column types. In particular, it initializes header and footer cells according to {@link setHeaderText HeaderText} and {@link getHeaderStyle HeaderStyle} {@link setFooterText FooterText} and {@link getFooterStyle FooterStyle} properties. If {@link setHeaderImageUrl HeaderImageUrl} is specified, the image will be displayed instead in the header cell. The {@link getItemStyle ItemStyle} is applied to cells that belong to non-header and -footer datagrid items. When the datagrid enables sorting, if the {@link setSortExpression SortExpression} is not empty, the header cell will display a button (linkbutton or imagebutton) that will bubble the sort command event to the datagrid. Since v3.1.0, TDataGridColumn has introduced two new properties {@link setHeaderRenderer HeaderRenderer} and {@link setFooterRenderer FooterRenderer} which can be used to specify the layout of header and footer column cells. A renderer refers to a control class that is to be instantiated as a control. For more details, see {@link TRepeater} and {@link TDataList}. Since v3.1.1, TDataGridColumn has introduced {@link setEnableCellGrouping EnableCellGrouping}. If a column has this property set true, consecutive cells having the same content in this column will be grouped into one cell. Note, there are some limitations to cell grouping. We determine the cell content according to the cell's {@link TTableCell::getText Text} property. If the text is empty and the cell has some child controls, we will pick up the first control who implements {@link \Prado\IDataRenderer} and obtain its {@link \Prado\IDataRenderer::getData Data} property. The following datagrid column types are provided by the framework currently, - {@link TBoundColumn}, associated with a specific field in datasource and displays the corresponding data. - {@link TEditCommandColumn}, displaying edit/update/cancel command buttons - {@link TDropDownListColumn}, displaying a dropdown list when the item is in edit state - {@link TButtonColumn}, displaying generic command buttons that may be bound to specific field in datasource. - {@link THyperLinkColumn}, displaying a hyperlink that may be bound to specific field in datasource. - {@link TCheckBoxColumn}, displaying a checkbox that may be bound to specific field in datasource. - {@link TTemplateColumn}, displaying content based on templates. To create your own column class, simply override {@link initializeCell()} method, which is the major logic for managing the data and presentation of cells in the column.
부터: 3.0
저자: Qiang Xue ([email protected])
상속: extends Prado\TApplicationComponent
파일 보기 프로젝트 열기: pradosoft/prado 1 사용 예제들

공개 메소드들

메소드 설명
getAllowSorting ( ) : boolean Returns a value indicating whether this column allows sorting.
getEnableCellGrouping ( ) : boolean
getFooterRenderer ( ) : string
getFooterStyle ( $createStyle = true ) : TTableItemStyle
getFooterText ( ) : string
getHeaderImageUrl ( ) : string
getHeaderRenderer ( ) : string
getHeaderStyle ( $createStyle = true ) : TTableItemStyle
getHeaderText ( ) : string
getID ( ) : string
getItemStyle ( $createStyle = true ) : TTableItemStyle
getOwner ( ) : TDataGrid
getSortExpression ( ) : string
getVisible ( $checkParents = true ) : boolean
initialize ( ) Initializes the column.
initializeCell ( $cell, $columnIndex, $itemType ) Initializes the specified cell to its initial values.
loadState ( $state ) Loads persistent state values.
saveState ( ) : mixed Saves persistent state values.
setEnableCellGrouping ( $value )
setFooterRenderer ( $value ) Sets the column footer cell renderer class.
setFooterText ( $value )
setHeaderImageUrl ( $value )
setHeaderRenderer ( $value ) Sets the column header cell renderer class.
setHeaderText ( $value )
setID ( $value ) Sets the ID of the column.
setOwner ( TDataGrid $value )
setSortExpression ( $value )
setVisible ( $value )

보호된 메소드들

메소드 설명
formatDataValue ( $formatString, $value ) : string Formats the text value according to a format string.
getDataFieldValue ( $data, $field ) : mixed Fetches the value of the data at the specified field.
getViewState ( $key, $defaultValue = null ) : mixed Returns a viewstate value.
initializeFooterCell ( $cell, $columnIndex ) Initializes the footer cell.
initializeHeaderCell ( $cell, $columnIndex ) Initializes the header cell.
setViewState ( $key, $value, $defaultValue = null ) Sets a viewstate value.

메소드 상세

formatDataValue() 보호된 메소드

If the format string is empty, the original value is converted into a string and returned. If the format string starts with '#', the string is treated as a PHP expression within which the token '{0}' is translated with the data value to be formated. Otherwise, the format string and the data value are passed as the first and second parameters in {@link sprintf}.
protected formatDataValue ( $formatString, $value ) : string
리턴 string the formatted result

getAllowSorting() 공개 메소드

The column allows sorting only when {@link getSortExpression SortExpression} is not empty and the datagrid allows sorting.
public getAllowSorting ( ) : boolean
리턴 boolean whether this column allows sorting

getDataFieldValue() 보호된 메소드

If the data is an array, the field is used as an array key. If the data is an of {@link TMap}, {@link TList} or their derived class, the field is used as a key value. If the data is a component, the field is used as the name of a property.
protected getDataFieldValue ( $data, $field ) : mixed
리턴 mixed data value at the specified field

getEnableCellGrouping() 공개 메소드

부터: 3.1.1
public getEnableCellGrouping ( ) : boolean
리턴 boolean whether cells having the same content should be grouped together. Defaults to false.

getFooterRenderer() 공개 메소드

부터: 3.1.0
public getFooterRenderer ( ) : string
리턴 string the class name for the column footer cell renderer. Defaults to empty, meaning not set.

getFooterStyle() 공개 메소드

public getFooterStyle ( $createStyle = true ) : TTableItemStyle
리턴 TTableItemStyle the style for footer

getFooterText() 공개 메소드

public getFooterText ( ) : string
리턴 string the text to be displayed in the footer of this column

getHeaderImageUrl() 공개 메소드

public getHeaderImageUrl ( ) : string
리턴 string the url of the image to be displayed in header

getHeaderRenderer() 공개 메소드

부터: 3.1.0
public getHeaderRenderer ( ) : string
리턴 string the class name for the column header cell renderer. Defaults to empty, meaning not set.

getHeaderStyle() 공개 메소드

public getHeaderStyle ( $createStyle = true ) : TTableItemStyle
리턴 TTableItemStyle the style for header

getHeaderText() 공개 메소드

public getHeaderText ( ) : string
리턴 string the text to be displayed in the header of this column

getID() 공개 메소드

public getID ( ) : string
리턴 string the ID of the column.

getItemStyle() 공개 메소드

public getItemStyle ( $createStyle = true ) : TTableItemStyle
리턴 TTableItemStyle the style for item

getOwner() 공개 메소드

public getOwner ( ) : TDataGrid
리턴 TDataGrid datagrid that owns this column

getSortExpression() 공개 메소드

public getSortExpression ( ) : string
리턴 string the name of the field or expression for sorting

getViewState() 보호된 메소드

Returns a viewstate value.
protected getViewState ( $key, $defaultValue = null ) : mixed
리턴 mixed the viewstate value corresponding to $key

getVisible() 공개 메소드

public getVisible ( $checkParents = true ) : boolean
리턴 boolean whether the column is visible. Defaults to true.

initialize() 공개 메소드

This method is invoked by {@link TDataGrid} when the column is about to be used to initialize datagrid items. Derived classes may override this method to do additional initialization.
public initialize ( )

initializeCell() 공개 메소드

The default implementation sets the content of header and footer cells. If sorting is enabled by the grid and sort expression is specified in the column, the header cell will show a link/image button. Otherwise, the header/footer cell will only show static text/image. This method can be overriden to provide customized intialization to column cells.
public initializeCell ( $cell, $columnIndex, $itemType )

initializeFooterCell() 보호된 메소드

This method attempts to use {@link getFooterRenderer FooterRenderer} to instantiate the footer cell. If that is not available, it will populate the cell with a text string specified by {@link getFooterImageUrl FooterImageUrl}
protected initializeFooterCell ( $cell, $columnIndex )

initializeHeaderCell() 보호된 메소드

This method attempts to use {@link getHeaderRenderer HeaderRenderer} to instantiate the header cell. If that is not available, it will populate the cell with an image or a text string, depending on {@link getHeaderImageUrl HeaderImageUrl} and {@link getHeaderText HeaderText} property values. If the column allows sorting, image or text will be created as a button which issues Sort command upon user click.
protected initializeHeaderCell ( $cell, $columnIndex )

loadState() 공개 메소드

Loads persistent state values.
public loadState ( $state )

saveState() 공개 메소드

Saves persistent state values.
public saveState ( ) : mixed
리턴 mixed values to be saved

setEnableCellGrouping() 공개 메소드

부터: 3.1.1
public setEnableCellGrouping ( $value )

setFooterRenderer() 공개 메소드

If not empty, the class will be used to instantiate as a child control in the column footer cell. If the class implements {@link \Prado\IDataRenderer}, the Data property will be set as the {@link getFooterText FooterText}.
부터: 3.1.0
public setFooterRenderer ( $value )

setFooterText() 공개 메소드

public setFooterText ( $value )

setHeaderImageUrl() 공개 메소드

public setHeaderImageUrl ( $value )

setHeaderRenderer() 공개 메소드

If not empty, the class will be used to instantiate as a child control in the column header cell. If the class implements {@link \Prado\IDataRenderer}, the Data property will be set as the {@link getFooterText FooterText}.
부터: 3.1.0
public setHeaderRenderer ( $value )

setHeaderText() 공개 메소드

public setHeaderText ( $value )

setID() 공개 메소드

By explicitly specifying the column ID, one can access the column by $templateControl->ColumnID.
public setID ( $value )

setOwner() 공개 메소드

public setOwner ( TDataGrid $value )
$value TDataGrid

setSortExpression() 공개 메소드

public setSortExpression ( $value )

setViewState() 보호된 메소드

Make sure that the viewstate value must be serializable and unserializable.
protected setViewState ( $key, $value, $defaultValue = null )

setVisible() 공개 메소드

public setVisible ( $value )