ASPxCardViewExporter.RenderBrick Event
Enables rendering of different content from the default export.
Namespace: DevExpress.Web
Assembly: DevExpress.Web.v19.1.dll
Declaration
public event ASPxCardViewExportRenderingEventHandler RenderBrick
Public Event RenderBrick As ASPxCardViewExportRenderingEventHandler
Event Data
Property |
Description |
BrickStyle |
Gets the style settings used to paint report bricks.
|
Column |
Gets a data column that corresponds to the processed grid element.
|
ImageValue |
Gets or sets an array of bytes that contains the processed brick’s image.
|
KeyValue |
Gets the processed card’s key.
|
Text |
Gets or sets the text displayed within the brick currently being rendered.
|
TextValue |
Gets or sets the processed brick’s value.
|
TextValueFormatString |
Gets or sets the pattern used to format values.
|
Url |
Gets or sets the rendered brick’s URL.
|
Value |
Gets the processed data cell’s value.
|
VisibleIndex |
Gets the processed card’s visible index.
|
The event data class exposes the following methods:
Method |
Description |
GetValue(String) |
Returns the value of the specified cell within the processed card.
|
Example
This example shows you how to draw 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.
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DevExpress.Web;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
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();
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<dx:ASPxCardView ID="ASPxCardView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" KeyFieldName="ProductID">
<Columns>
<dx:CardViewTextColumn FieldName="ProductName" VisibleIndex="0">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitPrice" VisibleIndex="1">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitsInStock" VisibleIndex="2">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitsOnOrder" VisibleIndex="3">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="ProductID" ReadOnly="True" Visible="False">
</dx:CardViewTextColumn>
</Columns>
</dx:ASPxCardView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\nwind.mdb;Persist Security Info=True" ProviderName="System.Data.OleDb" SelectCommand="SELECT [ProductName], [UnitPrice], [UnitsInStock], [UnitsOnOrder], [ProductID] FROM [Products]"></asp:SqlDataSource>
<dx:ASPxCardViewExporter ID="ASPxCardViewExporter1" OnRenderBrick="ASPxCardViewExporter1_RenderBrick" runat="server" CardViewID="ASPxCardView1">
</dx:ASPxCardViewExporter>
<dx:ASPxButton ID="ASPxButton1" AutoPostBack="false" OnClick="ASPxButton1_Click" runat="server" Text="Export to PDF"></dx:ASPxButton>
</div>
</form>
</body>
</html>
<%@ Page Language="vb" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<dx:ASPxCardView ID="ASPxCardView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" KeyFieldName="ProductID">
<Columns>
<dx:CardViewTextColumn FieldName="ProductName" VisibleIndex="0">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitPrice" VisibleIndex="1">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitsInStock" VisibleIndex="2">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="UnitsOnOrder" VisibleIndex="3">
</dx:CardViewTextColumn>
<dx:CardViewTextColumn FieldName="ProductID" ReadOnly="True" Visible="False">
</dx:CardViewTextColumn>
</Columns>
</dx:ASPxCardView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\nwind.mdb;Persist Security Info=True" ProviderName="System.Data.OleDb" SelectCommand="SELECT [ProductName], [UnitPrice], [UnitsInStock], [UnitsOnOrder], [ProductID] FROM [Products]"></asp:SqlDataSource>
<dx:ASPxCardViewExporter ID="ASPxCardViewExporter1" OnRenderBrick="ASPxCardViewExporter1_RenderBrick" runat="server" CardViewID="ASPxCardView1">
</dx:ASPxCardViewExporter>
<dx:ASPxButton ID="ASPxButton1" AutoPostBack="false" OnClick="ASPxButton1_Click" runat="server" Text="Export to PDF"></dx:ASPxButton>
</div>
</form>
</body>
</html>
Imports System
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports DevExpress.Web
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
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
End Class
See Also