GridView.MasterRowGetRelationDisplayCaption Event
Allows you to specify a detail view’s caption.
Namespace: DevExpress.XtraGrid.Views.Grid
Assembly: DevExpress.XtraGrid.v24.1.dll
NuGet Packages: DevExpress.Win.Grid, DevExpress.Win.Navigation
Declaration
[DXCategory("MasterDetail")]
public event MasterRowGetRelationNameEventHandler MasterRowGetRelationDisplayCaption
Event Data
The MasterRowGetRelationDisplayCaption event's data class is MasterRowGetRelationNameEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
RelationIndex | Gets the relation index that identifies the affected detail. Inherited from CustomMasterRowEventArgs. |
RelationName |
For the GridView.MasterRowGetRelationName event this property gets or sets the name of the level whose bound View will be used to represent the currently processed detail’s data. For the GridView.MasterRowGetRelationDisplayCaption event this property gets or sets the display caption for the currently processed relation. |
RowHandle | Gets the handle of the currently processed master row in the current View. Inherited from CustomMasterRowEventArgs. |
Remarks
A detail view’s ViewCaption property allows you to specify a caption that is displayed in a detail tab. Ensure that the ShowDetailTabs option is enabled; otherwise, tabs are not displayed. If the EnableDetailToolTip option is enabled, this caption is also displayed in detail tooltips.
If the caption is not specified, the detail view uses the LevelName property value.
Custom Captions for Individual Detail Views
The MasterRowGetRelationDisplayCaption
event fires for each detail view and allows you to specify a custom tab caption.
Use the following event arguments to identify the processed master row and detail view (if the master row displays multiple detail views):
- RowHandle — specifies the processed master row’s handle.
- RelationIndex — specifies the detail view’s index.
After you identified the processed detail view, use the RelationName event argument to specify the tab caption.
Tip
To specify a custom detail view (not only a caption) for a specific master row, use the MasterRowGetRelationName or MasterRowGetLevelDefaultView event.
Custom Images and Appearance Settings for Individual Detail Tabs
The DetailTabStyle event fires for each detail view. This event allows you to assign a custom image to the processed tab and apply custom appearance settings to the tab caption.
Use the Caption event argument to obtain or change the processed tab caption. The following arguments allow you to specify the tab style:
- Appearance — provides access to background and foreground colors, font style, and so forth.
- ImageOptions — provides access to a raster or vector image assigned to the tab.
You can also use the IsSelected argument to apply a specific style depending on whether the tab is selected.
The RefreshDetailTab(Int32) method allows you to update a detail tab at runtime.
HTML-Formatted Tab Captions
You can enable the master view’s AllowHtmlDrawDetailTabs option to parse HTML-inspired tags in detail tab captions.
Example
The code below handles the MasterRowGetRelationDisplayCaption
event to specify custom tab captions.
In the image below, tab captions contain the master row’s Company Name column values.
using DevExpress.XtraGrid.Views.BandedGrid;
private void advBandedGridView1_MasterRowGetRelationDisplayCaption(object sender, MasterRowGetRelationNameEventArgs e) {
AdvBandedGridView view = sender as AdvBandedGridView;
string companyName = (string)view.GetRowCellValue(e.RowHandle, colCompanyName);
if(e.RelationIndex == 1)
e.RelationName = $"{companyName}: Products";
}