protected override void ItemDataBinding(object sender, EventArgs e)
{
var cell = sender as TableCell;
if (cell == null) return;
var entity = cell.GetDataItem();
var text = Compose(entity, DataField, DataFormat);
if (HideOnEmpty && text.IsNullOrEmpty()) return;
label.Text = text.Left(MaxCharacters);
label.ToolTip = Compose(entity, ToolTipField, ToolTipFormat);
label.Visible = tooltiplabel.Visible = this.IsEnabled(entity, text);
if (text.Length <= MaxCharacters) return;
tooltiplabel.Text = " ...";
tooltiplabel.ToolTip = text;
}