显示UltraGrid绑定的行数的最佳方法是什么?
我希望能够做到, this.UltraGrid.DataSource = myCustomObject;
并且,网格应该显示数据以及行数。
我尝试使用ultragrid和状态栏编写自定义控件。 触发“InitializeRow”事件时,使用rowCount更新状态栏。 这会给我我想要的东西,但效率非常低。
我尝试了其他事件,例如“InitializeLayout”,“InitializeRowsCollection”,“Enter”事件,但是当数据源发生变化时,这些事件不会被触发。
建议?
答案 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
属性。如果您愿意,您可以简单地删除添加和删除按钮,这使它看起来像这样: