'宣言 Public Property FormulaRowIndexSource As FormulaRowIndexSource
public FormulaRowIndexSource FormulaRowIndexSource {get; set;}
FormulaRowIndexSource は、数式の計算にすべての行と表示行のみのどちらを使用するかを指定します。また、相対参照に使用するインデックスも指定します。ListIndex と Index は、すべての行を計算に使用することを指定します。VisibleIndex は、表示行のみを計算に使用することを指定します。集計は、このプロパティの設定に応じて、すべての行と表示行のみのどちらかに基づいて実行されます。また、列が相対参照([column1(-1)] のような形式の参照。この場合は前の行の column1 セルを参照します)を含む数式を持つ場合、このプロパティは、相対セルを特定するためにリスト インデックス、行インデックス、表示インデックスのいずれを使用するかを指定します。リスト インデックスとは、基になるデータ リスト内でのデータ行のインデックスを指します。これは行の UltraGridRow.ListIndex の値に対応します。インデックスは、親コレクション内での UltraGridRow のインデックスを指します。これは行の UltraGridRow.Index プロパティーに対応します。VisibleIndex とは、その名前が示すように、関連付けられた行コレクション内で現在の行より前にある表示行の数を指します。これは実質的には、表示行(フィルターによって除外されていない行、または明示的に非表示にされていない行)のみを含むコレクションに対する IndexOf 操作をエミュレートします。これは UltraGridRow.VisibleIndex プロパティに対応します。
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
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; }