Back to Devexpress

ASPxAutoCompleteBoxBase.ItemRowPrepared Event

aspnet-devexpress-dot-web-dot-aspxautocompleteboxbase-53778f6b.md

latest4.2 KB
Original Source

ASPxAutoCompleteBoxBase.ItemRowPrepared Event

Enables you to change individual rows settings.

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public event EventHandler<ListBoxItemRowPreparedEventArgs> ItemRowPrepared
vb
Public Event ItemRowPrepared As EventHandler(Of ListBoxItemRowPreparedEventArgs)

Event Data

The ItemRowPrepared event's data class is ListBoxItemRowPreparedEventArgs. The following properties provide information specific to this event:

PropertyDescription
ItemGets an item object related to the event.
RowGets the processed row.

Remarks

Use the ItemRowPrepared event to change individual row style settings (CssClass, Tooltip, control styles). The ItemRowPrepared event is raised for each row within the editor’s list.

The processed row is identified by the ListBoxItemRowPreparedEventArgs.Row property.

To set an attribute to a processed item, use the client SetItemAttribute(index, attributeName, attributeValue) method.

js
function OnClick(s, e) {
    comboBox.SetItemAttribute(5, "your_attribute_name", "attribute_value");
}

Example

The following example illustrates how to customize the appearance of combo box items.

csharp
string GetItemTooltip(ListEditItem item) {
    return string.Format("Country: {0}\r\nCity: {1} \r\nAddress: {2}",
        item.GetFieldValue("Country"), item.GetFieldValue("City"), item.GetFieldValue("Address"));
}
protected void customersComboBox_ItemTextCellPrepared(object sender, ListBoxItemTextCellPreparedEventArgs 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";
}
protected void customersComboBox_ItemRowPrepared(object sender, ListBoxItemRowPreparedEventArgs e) {
    e.Row.ToolTip = GetItemTooltip(e.Item);
}
aspx
<dx:ASPxComboBox ID="customersComboBox" runat="server" DataSourceID="CustomersDataSource" ValueField="CustomerID"
    ValueType="System.String" TextFormatString="{0}" EnableCallbackMode="true" CallbackPageSize="30"
    OnItemTextCellPrepared="customersComboBox_ItemTextCellPrepared" OnItemRowPrepared="customersComboBox_ItemRowPrepared">
    <Columns>
        <dx:ListBoxColumn FieldName="ContactName" Width="150" /> 
        <dx:ListBoxColumn FieldName="CompanyName" Width="200" /> 
        <dx:ListBoxColumn FieldName="Country" />
        <dx:ListBoxColumn FieldName="Phone" /> 
    </Columns>
</dx:ASPxComboBox>
<ef:EntityDataSource runat="server" ID="CustomersDataSource" ContextTypeName="NorthwindContext" 
    EntitySetName="Customers" OrderBy="it.ContactName, it.CompanyName" />

See Also

ItemTextCellPrepared

Item Appearance CustomizationOnline demo:

ASPxAutoCompleteBoxBase Class

ASPxAutoCompleteBoxBase Members

DevExpress.Web Namespace