Infragistics(R) NetAdvantage(R) Windows Forms
FormulaRowIndexSource Property
See Also  Example E-mail your feedback on this topic.
Infragistics.Win.UltraWinGrid Namespace > UltraGridOverride Class : FormulaRowIndexSource Property

Specifies which row index to use in formula calculations. Default is resolved to VisibleIndex.

Syntax

Visual Basic (Declaration) 
Public Property FormulaRowIndexSource As FormulaRowIndexSource
C# 
public FormulaRowIndexSource FormulaRowIndexSource {get; set;}

Example

Following code shows how to use formulas in UltraWinGrid.

Visual BasicCopy Code
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid


    Private Sub UltraGrid1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles ultraGrid1.InitializeLayout
        ' A valid UltraCalcManager instance must be assigned to the the CalcManager
        ' property of the UltraGrid in order to be able to use formulas. Typically
        ' you do this by simply putting an UltraCalcManager component on the form. If
        ' you have already put an UltraCalcManager on the form then you don't need to
        ' assign the CalcManager proeprty. NOTE: You must add UltraWinCalcManager
        ' assembly to the list of assembly references.
        Dim calcManager As Infragistics.Win.UltraWinCalcManager.UltraCalcManager
        calcManager = New Infragistics.Win.UltraWinCalcManager.UltraCalcManager(Me.Container)
        e.Layout.Grid.CalcManager = calcManager

        ' You can set formula on a column.
        e.Layout.Bands(0).Columns("Col1").Formula = "10 * [Col2]"

        ' You can create a formula summary. Following summary calculates the sum of
        ' Col1 column.
        e.Layout.Bands(0).Summaries.Add("Summary1", "sum( [Col1] )")

        ' FormulaErrorAppearance specifies the appearance of cells and summaries that
        ' contain formula errors.
        e.Layout.Override.FormulaErrorAppearance.BackColor = Color.Red

        ' FormulaRowIndexSource specifies which rows to use for calculations, all
        ' rows or just the visible rows. For example, if you have a summary "sum(
        ' [Column1] )" which sums up the values of Column1, VisibleIndex specifies
        ' that the values from only the visible rows should be used for calculating
        ' the sum.
        e.Layout.Override.FormulaRowIndexSource = FormulaRowIndexSource.ListIndex
    End Sub
C#Copy Code
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;


		private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
		{
			// A valid UltraCalcManager instance must be assigned to the the CalcManager
			// property of the UltraGrid in order to be able to use formulas. Typically
			// you do this by simply putting an UltraCalcManager component on the form. If
			// you have already put an UltraCalcManager on the form then you don't need to
			// assign the CalcManager proeprty. NOTE: You must add UltraWinCalcManager
			// assembly to the list of assembly references.
			Infragistics.Win.UltraWinCalcManager.UltraCalcManager calcManager;
			calcManager = new Infragistics.Win.UltraWinCalcManager.UltraCalcManager( this.Container );
			e.Layout.Grid.CalcManager = calcManager;

			// You can set formula on a column.
			e.Layout.Bands[0].Columns["Col1"].Formula = "10 * [Col2]";

			// You can create a formula summary. Following summary calculates the sum of
			// Col1 column.
			e.Layout.Bands[0].Summaries.Add( "Summary1", "sum( [Col1] )" );

			// FormulaErrorAppearance specifies the appearance of cells and summaries that
			// contain formula errors.
			e.Layout.Override.FormulaErrorAppearance.BackColor = Color.Red;			

			// FormulaRowIndexSource specifies which rows to use for calculations, all
			// rows or just the visible rows. For example, if you have a summary "sum(
			// [Column1] )" which sums up the values of Column1, VisibleIndex specifies
			// that the values from only the visible rows should be used for calculating
			// the sum.
			e.Layout.Override.FormulaRowIndexSource = FormulaRowIndexSource.ListIndex;
		}

Remarks

FormulaRowIndexSource specifies which rows to use for calculations, all rows or just the visible rows. It also specifies which index to use in relative refereneces. ListIndex and Index specify that all rows should be used in calculations. VisibleIndex specifies that only the visible rows should be used for calculations. The summaries will be based on either all rows or just the visible ones depending on this property setting. Also if a column has a formula containing relative reference (like [column1(-1)] which references the column1 cell in the previous row), this property specifies whether to use list index, row index or the visible index for finding the relative cell. List index is the index of the data row in the underlying data list. It corrensponds to the UltraGridRow.ListIndex value of the rows. Index is the UltraGridRow's index in its parent collection. It corresponds to UltraGridRow.Index property of the rows. VisibleIndex, as the name suggests is the number of rows visible before the current row in the associated rows collection. Essentially it emulates IndexOf operation on a collection that contains only the visible rows (ones that are not filtered out or explicitly hidden). It corresponds to the UltraGridRow.VisibleIndex property.

See Also