ListBoxSettings.ItemTextCellPrepared Property
Occurs on the server side before a text cell has been rendered.
Namespace: DevExpress.Web.Mvc
Assembly: DevExpress.Web.Mvc5.v24.2.dll
Declaration
public EventHandler<ListBoxItemTextCellPreparedEventArgs> ItemTextCellPrepared { get; set; }
Property Value
Type | Description |
---|---|
EventHandler<ListBoxItemTextCellPreparedEventArgs> | A EventHandler<TEventArgs><ListBoxItemTextCellPreparedEventArgs,> delegate method allowing you to implement custom processing. |
Remarks
Write a ItemTextCellPrepared event handler to customize the cell appearance (CssClass, Tooltip, control styles) before it is rendered. To customize the cell’s appearance, use the ListBoxItemTextCellPreparedEventArgs.TextCell, ListBoxItemTextCellPreparedEventArgs.Column and ListBoxItemTextCellPreparedEventArgs.Item properties.
The editor’s content is customized using the ASPxListBox.ItemTemplate property.
Example
The following example illustrates how to customize the appearance of combo box items.
@Html.DevExpress().ListBox(
settings => {
settings.Name = "customersListBox";
settings.CallbackRouteValues = new { Controller = "Editors", Action = "ListBoxWithItemCustomizationPartial" };
// ...
settings.ItemTextCellPrepared += (s, e) => {
if(e.Column.FieldName == "ContactName") {
string contactTitle = e.Item.GetFieldValue("ContactTitle").ToString();
if(contactTitle == "Owner") {
e.TextCell.CssClass += " owner";
e.TextCell.ToolTip = "Owner";
}
}
if(e.Column.FieldName == "Phone")
e.TextCell.CssClass += " phone";
};
settings.ItemRowPrepared += (s, e) => {
ListEditItem item = e.Item;
e.Row.ToolTip = string.Format("Country: {0}\r\nCity: {1} \r\nAddress: {2}",
item.GetFieldValue("Country"), item.GetFieldValue("City"), item.GetFieldValue("Address"));
};
// ...
}
).BindList(ViewData["Customers"]).GetHtml()