/**
* Initializes the specified cell to its initial values.
* This method overrides the parent implementation.
* It creates a checkbox inside the cell.
* If the column is read-only or if the item is not in edit mode,
* the checkbox will be set disabled.
* @param TTableCell the cell to be initialized.
* @param integer the index to the Columns property that the cell resides in.
* @param string the type of cell (Header,Footer,Item,AlternatingItem,EditItem,SelectedItem)
*/
public function initializeCell($cell, $columnIndex, $itemType)
{
if ($itemType === TListItemType::Item || $itemType === TListItemType::AlternatingItem || $itemType === TListItemType::SelectedItem || $itemType === TListItemType::EditItem) {
$checkBox = new TActiveCheckBox();
if ($this->getReadOnly() || $itemType !== TListItemType::EditItem) {
$checkBox->setEnabled(false);
}
$cell->setHorizontalAlign('Center');
$cell->getControls()->add($checkBox);
$cell->registerObject('CheckBox', $checkBox);
if ($this->getDataField() !== '') {
$checkBox->attachEventHandler('OnDataBinding', array($this, 'dataBindColumn'));
}
} else {
parent::initializeCell($cell, $columnIndex, $itemType);
}
}