2011-11-01 49 views
2

顯示UltraGrid綁定行數的最佳方式是什麼?Infragistics Ultragrid Winforms顯示行數

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

而且,網格應該顯示數據以及行數。

我試圖用ultragrid和狀態欄寫一個自定義控件。 當「InitializeRow」事件觸發時,用rowCount更新狀態欄。 這會給我我想要的,但這是非常低效的。

我嘗試了其他事件,如「InitializeLayout」,「InitializeRowsCollection」,「Enter」事件,但當數據源更改這些事件時不會被觸發。

對此提出建議?

回答

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

如果使用BindingSource你可能喜歡的BindingNavigator

您可以將它從工具箱(數據選項卡)上拖到表單上,並設置其屬性BindingSource。如果您願意,您可以簡單地刪除添加和刪除按鈕,這會使它看起來像這樣:

enter image description here

相關問題