DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
獲取DevExpress WPF v24.1正式版下載
鍵盤導航和屏幕閱讀器增強
如果DataViewBase.ShowColumnHeaders屬性設置為true,GridControl將顯示列標題。
移動列
GridControl按照存儲在GridControl.Columns集合中的順序顯示列。
Xaml
<dxg:GridControl Name="grid">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="GroupName"/>
<dxg:GridColumn FieldName="FullName"/>
<dxg:GridColumn FieldName="BirthDate"/>
<dxg:GridColumn FieldName="JobTitle"/>
<dxg:GridColumn FieldName="CountryRegionName"/>
<dxg:GridColumn FieldName="Phone" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView Name="view"/>
</dxg:GridControl.View>
</dxg:GridControl>
您可以使用BaseColumn.VisibleIndex屬性來指定列的順序。
在UI中
如果DataViewBase.AllowColumnMoving屬性值為true時,用戶可以拖放列標題。
列的BaseColumn.AllowMoving屬性優先于DataViewBase.AllowColumnMoving屬性,可以使用此屬性將列保持在特定位置。
用戶還可以使用列選擇器移動列:
在代碼中
要在代碼中移動列,請使用DataViewBase.MoveColumnTo方法。
C#
grid.View.MoveColumnTo(grid.Columns["GroupName"], 2,
HeaderPresenterType.Headers,
HeaderPresenterType.Headers,
MergeGroupPosition.Right);
VB.NET
grid.View.MoveColumnTo(grid.Columns("GroupName"), 2,
HeaderPresenterType.Headers,
HeaderPresenterType.Headers,
MergeGroupPosition.Right)
調整列的大小
在UI中
如果TableView.AllowResizing?/?TreeListView.AllowResizing屬性值為true時,用戶可以拖動頁眉邊沿。
列的BaseColumn.AllowResizing屬性優先于TableView.AllowResizing?/?TreeListView.AllowResizing屬性。
在代碼中
要在代碼中調整列的大小,請指定BaseColumn.Width屬性。
絕對列大小
設置BaseColumn.Width屬性為像素值:
Xaml
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="GroupName" Width="50"/>
<dxg:GridColumn FieldName="FullName" Width="150"/>
<dxg:GridColumn FieldName="BirthDate" Width="100"/>
<dxg:GridColumn FieldName="JobTitle" Width="150"/>
<dxg:GridColumn FieldName="CountryRegionName" Width="100"/>
<dxg:GridColumn FieldName="Phone" Width="100"/>
</dxg:GridControl.Columns>
相對(星號)列的大小
將BaseColumn.Width屬性設置為可用空間的加權比例,可用空間分布在列之間,類似于Microsoft Data Grid中的“星型大小”機制。
XAML
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="GroupName" Width="*"/>
<dxg:GridColumn FieldName="FullName" Width="3*"/>
<dxg:GridColumn FieldName="BirthDate" Width="2*"/>
<dxg:GridColumn FieldName="JobTitle" Width="3*"/>
<dxg:GridColumn FieldName="CountryRegionName" Width="2*"/>
<dxg:GridColumn FieldName="Phone" Width="2*"/>
</dxg:GridControl.Columns>
注意:
- 當GridControl的寬度設置為無限大時,相對大小不起作用(例如,網格被放置在水平方向的堆棧面板中)。
- 相對大小在列帶中不起作用。
自動列大小(自動最佳匹配)
將列的BaseColumn.Width屬性設置為Auto,使GridControl根據列的內容自動重新計算該列的最佳寬度:
Xaml
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="GroupName" Width="*"/>
<dxg:GridColumn FieldName="FullName" Width="3*"/>
<dxg:GridColumn FieldName="BirthDate" Width="2*"/>
<dxg:GridColumn FieldName="JobTitle" Width="Auto" AllowResizing="False"/> <!-- this column has Auto size -->
<dxg:GridColumn FieldName="CountryRegionName" Width="2*"/>
<dxg:GridColumn FieldName="Phone" Width="2*"/>
</dxg:GridControl.Columns>
當用戶更改列的寬度時,GridControl停止重新計算該列的最佳寬度,將BBaseColumn.AllowResizing性設置為false來禁止用戶調整列的大小。
注意:如果TableView.AutoWidth?/?TreeListView.AutoWidth屬性值為true,不要將列的寬度設置為Auto。
未完待續,更多精彩內容我們下期見......