protected override void ItemDataBinding(object sender, EventArgs e)
{
var cell = sender as TableCell;
if (cell == null) return;
var entity = cell.GetDataItem();
var enabled = this.IsEnabled(entity, button.Text);
var text = this.Compose(entity, DataField, DataFormat);
if (text.Length > MaxCharacters)
{
tooltipbutton.Text = " ...";
tooltipbutton.ToolTip = text;
if (ShowLabelIfDisabled)
{
tooltiplabelIfDisabled.Text = " ...";
tooltiplabelIfDisabled.ToolTip = text;
}
}
if (enabled)
{
button.Text = text.Left(MaxCharacters);
button.ToolTip = this.Compose(entity, ToolTipField, ToolTipFormat);
button.CommandArgument = tooltipbutton.CommandArgument = this.Compose(entity, IdField, null);
button.Visible = tooltipbutton.Visible = true;
var message = this.Compose(entity, MessageField, MessageFormat, MessageSubject);
if (!string.IsNullOrEmpty(message)) { button.OnClientClick = tooltipbutton.OnClientClick = @"return confirm('" + message + "');"; }
}
else if (ShowLabelIfDisabled)
{
labelIfDisabled.Text = text.Left(MaxCharacters);
labelIfDisabled.Visible = tooltiplabelIfDisabled.Visible = true;
}
}