显示Infragistics Ultragrid Winforms上的行数

时间:2011-11-01 02:34:17

标签: infragistics ultragrid

显示UltraGrid绑定的行数的最佳方法是什么?

我希望能够做到, this.UltraGrid.DataSource = myCustomObject;

并且,网格应该显示数据以及行数。

我尝试使用ultragrid和状态栏编写自定义控件。 触发“InitializeRow”事件时,使用rowCount更新状态栏。 这会给我我想要的东西,但效率非常低。

我尝试了其他事件,例如“InitializeLayout”,“InitializeRowsCollection”,“Enter”事件,但是当数据源发生变化时,这些事件不会被触发。

建议?

2 个答案:

答案 0 :(得分:4)

我通过使用ultragrid的SummaryDisplayArea功能找到了更好的方法。 http://help.infragistics.com/Help/NetAdvantage/WinForms/2011.1/CLR2.0/html/Infragistics2.Win.UltraWinGrid.v11.1~Infragistics.Win.UltraWinGrid.UltraGridOverride~SummaryDisplayArea.html

在InitializeLayout事件中我有类似的东西

        e.Layout.Override.AllowRowSummaries = AllowRowSummaries.True;

        UltraGridColumn columnToSummarize = e.Layout.Bands[0].Columns[0];
        SummarySettings summary = e.Layout.Bands[0].Summaries.Add("Count", SummaryType.Count, columnToSummarize);
        summary.DisplayFormat = "Number of Rows: {0:N0}";

        e.Layout.Override.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
        e.Layout.Override.SummaryDisplayArea |= SummaryDisplayAreas.GroupByRowsFooter;
        e.Layout.Override.SummaryDisplayArea |= SummaryDisplayAreas.InGroupByRows;

        summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed | SummaryDisplayAreas.GroupByRowsFooter;
        e.Layout.Override.GroupBySummaryDisplayStyle = GroupBySummaryDisplayStyle.SummaryCells;

        e.Layout.Override.SummaryFooterAppearance.FontData.Bold = DefaultableBoolean.True;
        e.Layout.Override.SummaryFooterCaptionVisible = DefaultableBoolean.False;

答案 1 :(得分:1)

如果您使用BindingSource,则可能需要BindingNavigator

您可以从工具箱(数据选项卡)将其拖到表单上,并设置其BindingSource属性。如果您愿意,您可以简单地删除添加和删除按钮,这使它看起来像这样:

enter image description here