Skip to main content
A newer version of this page is available. .

ASPxPivotGrid.FieldValueTemplate Property

Gets or sets a template to display the content of field value cells.

Namespace: DevExpress.Web.ASPxPivotGrid

Assembly: DevExpress.Web.ASPxPivotGrid.v20.2.dll

NuGet Package: DevExpress.Web

Declaration

[DefaultValue(null)]
public virtual ITemplate FieldValueTemplate { get; set; }

Property Value

Type Default Description
ITemplate *null*

An object supporting the System.Web.UI.ITemplate interface that contains the custom content for field value cells.

Remarks

By creating a template of the FieldValueTemplate type, you can define the custom content displayed for field value cells in the ASPxPivotGrid control. The field value appearance can be controlled by the PivotGridStyles.FieldValueStyle or PivotGridField.ValueStyle property.

The content of values that correspond to a particular field can be specified using the field’s PivotGridField.ValueTemplate property. This property takes precedence over the FieldValueTemplate property.

Note

Once a template defined via the FieldValueTemplate property is created within a control, it is instantiated within a container object of the PivotGridFieldValueTemplateContainer type. This container object exposes a set of specific properties to which the template’s child controls can be bound.

Example

This example demonstrates how to customize the Field Header and Field Value templates, and keep automatic appearance and functionality. It is not possible to simply replace the default Header or Value element with a custom label, because these elements have a really complex layout. Ordinarily, it consists of a table including a few cells with nested items, and attached styles and scripts. These elements are generated dynamically based on the current pivot grid layout. This example demonstrates how to customize the templates at runtime. Using this approach, it is possible to call the PivotGridFieldValueTemplateContainer.CreateFieldValue and PivotGridHeaderTemplateContainer.CreateHeader methods to generate the default template content. Then it is possible to replace some of default items with custom ones to introduce a required functionality.

View Example

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DevExpress.Web.ASPxPivotGrid;

namespace E1805 {
    public partial class _Default :System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            ASPxPivotGrid1.HeaderTemplate = new HeaderTemplate();
            ASPxPivotGrid1.FieldValueTemplate = new FieldValueTemplate();
        }
    }

    public class HeaderTemplate :ITemplate {
        public void InstantiateIn(Control container) {
            PivotGridHeaderTemplateContainer c = (PivotGridHeaderTemplateContainer)container;
            PivotGridHeaderHtmlTable table = c.CreateHeader();
            table.Content = new HeaderLink();
            c.Controls.Add(table);
        }
    }

    class FieldValueTemplate :ITemplate {
        public void InstantiateIn(Control container) {
            PivotGridFieldValueTemplateContainer c = (PivotGridFieldValueTemplateContainer)container;
            PivotGridFieldValueHtmlCell cell = c.CreateFieldValue();
            cell.Controls.AddAt(cell.Controls.IndexOf(cell.TextControl), new HeaderLink());
            cell.Controls.Remove(cell.TextControl);
            c.Controls.Add(cell);
        }
    }

    public class HeaderLink :HyperLink {
        public HeaderLink()
            : base() {
            Text = "Templated Text";
            NavigateUrl = "#";
            Attributes["onclick"] = "alert('this is the test prompt')";
        }
    }
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the FieldValueTemplate property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also