Back to Devexpress

ASPxCardViewExporter.RenderBrick Event

aspnet-devexpress-dot-web-dot-aspxcardviewexporter-ab91869c.md

latest5.0 KB
Original Source

ASPxCardViewExporter.RenderBrick Event

Enables rendering of different content from the default export.

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
public event ASPxCardViewExportRenderingEventHandler RenderBrick
vb
Public Event RenderBrick As ASPxCardViewExportRenderingEventHandler

Event Data

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

PropertyDescription
BrickStyleGets the style settings used to paint report bricks.
ColumnGets a data column that corresponds to the processed grid element.
ImageValueGets or sets an array of bytes that contains the processed brick’s image.
KeyValueGets the processed card’s key.
TextGets or sets the text displayed within the brick currently being rendered.
TextValueGets or sets the processed brick’s value.
UrlGets or sets the rendered brick’s URL.
ValueGets the processed data cell’s value.
VisibleIndexGets the processed card’s visible index.

The event data class exposes the following methods:

MethodDescription
GetValue(String)Returns the value of the specified cell within the processed card.

Example

This example conditionally applies a style to company names in an exported document based on the number of products. Company names are painted in ‘green’ if the product count is greater than 1,000. Otherwise, the company names are painted in ‘red’.

aspx
<dx:ASPxCardView ID="ASPxCardView1" runat="server" AutoGenerateColumns="False" 
    DataSourceID="SqlDataSource1" KeyFieldName="ProductID">
    <Columns>
        <dx:CardViewTextColumn FieldName="ProductName" />
        <dx:CardViewTextColumn FieldName="UnitPrice" />
        <dx:CardViewTextColumn FieldName="UnitsInStock" />
        <dx:CardViewTextColumn FieldName="UnitsOnOrder" />
        <dx:CardViewTextColumn FieldName="ProductID" Visible="False" />
    </Columns>
</dx:ASPxCardView>
<dx:ASPxCardViewExporter ID="ASPxCardViewExporter1" runat="server" CardViewID="ASPxCardView1"
                         OnRenderBrick="ASPxCardViewExporter1_RenderBrick" />
<dx:ASPxButton runat="server" ID="ASPxButton1" AutoPostBack="false" 
               OnClick="ASPxButton1_Click" Text="Export to PDF" />
csharp
protected void ASPxCardViewExporter1_RenderBrick(object sender, DevExpress.Web.ASPxCardViewExportRenderingEventArgs e) {
    CardViewColumn dataColumn = e.Column as CardViewColumn;
    if (dataColumn != null && dataColumn.FieldName == "ProductName") {
        e.BrickStyle.ForeColor = (decimal)e.GetValue("UnitPrice") > 10 ? Color.Green : Color.Red;
        e.BrickStyle.BackColor = Color.LightYellow;
    }
}
protected void ASPxButton1_Click(object sender, EventArgs e) {
    ASPxCardViewExporter1.WritePdfToResponse();
}
vb
Protected Sub ASPxCardViewExporter1_RenderBrick(ByVal sender As Object, ByVal e As DevExpress.Web.ASPxCardViewExportRenderingEventArgs)
    Dim dataColumn As CardViewColumn = TryCast(e.Column, CardViewColumn)
    If dataColumn IsNot Nothing AndAlso dataColumn.FieldName = "ProductName" Then
        e.BrickStyle.ForeColor = If(CDec(e.GetValue("UnitPrice")) > 10, Color.Green, Color.Red)
        e.BrickStyle.BackColor = Color.LightYellow
    End If
End Sub
Protected Sub ASPxButton1_Click(ByVal sender As Object, ByVal e As EventArgs)
    ASPxCardViewExporter1.WritePdfToResponse()
End Sub

See Also

ASPxCardViewExporter Class

ASPxCardViewExporter Members

DevExpress.Web Namespace