翻譯|使用教程|編輯:龔雪|2025-01-14 09:58:34.837|閱讀 98 次
概述:本文將演示如何使用DevExpress WPF Grid控件實現列創建并將其綁定到數據屬性,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
DevExpress技術交流群11:749942875 歡迎一起進群討論
打開DevExpress WPF GridControl的快速操作,選擇Generate Columns為XAML中的每個數據字段生成列,屬性用于將每個列綁定到數據。
使用屬性來啟用自動生成列。
網格為數據源中的所有屬性生成列,列以與數據源中的屬性相同的順序出現。
DevExpress WPF GridControl不為集合屬性生成列。
一旦創建了所有列并將其添加到集合中,網格就會觸發事件,處理此事件來指定列設置(分配列編輯器、隱藏單個列等)。
創建對象并將它們添加到集合中。
使用和屬性將列綁定到數據源屬性。
如果Binding和FieldName屬性引用現有的數據源屬性,則不能同時使用它們。
和屬性允許您僅將列綁定到一個屬性,創建一個未綁定的列,并處理 / 事件,來根據條件顯示來自不同屬性的數據。
屬性表現出比Binding屬性更好的性能,因為GridControl使用對象獲得屬性值。
下面的代碼顯示了如何使用FieldName屬性:
XAML
<dxg:GridControl x:Name="grid"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="ProductName"/> <dxg:GridColumn FieldName="UnitPrice"/> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView /> </dxg:GridControl.View> </dxg:GridControl>
局限性:
您可以使用Binding屬性來避免FieldName屬性的限制,Binding屬性有以下限制:
具有指定Binding屬性的列是只讀的,將綁定的Mode屬性設置為TwoWay,來允許用戶編輯這些列。
下面的XAML代碼片段展示了如何使用Binding屬性:
XAML
<dxg:GridControl x:Name="grid"> <dxg:GridControl.Columns> <dxg:GridColumn Header="Unit Price" Binding="{Binding UnitPrice, Mode=TwoWay}"/> <dxg:GridColumn Header="Product Name" Binding="{Binding ProductName, Mode=TwoWay}"/> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView /> </dxg:GridControl.View> </dxg:GridControl>
注意:當您使用包含動態對象的數據結構時,請使用屬性替代屬性。
下面的示例展示了如何創建列并將其綁定到data屬性:
C#
using DevExpress.Xpf.Grid; // ... GridColumn column = new GridColumn(); column.FieldName = "ProductName"; grid.Columns.Add(column);
VB.NET
Imports DevExpress.Xpf.Grid ' ... Dim column As GridColumn = New GridColumn() column.FieldName = "ProductName" grid.Columns.Add(column)
C#
using DevExpress.Xpf.Grid; // ... GridColumn column = new GridColumn(); Binding bindingExpression = new Binding("ProductName") { Mode=BindingMode.TwoWay }; column.Binding = bindingExpression; gridControl1.Columns.Add(column);
VB.NET
Imports DevExpress.Xpf.Grid ' ... Dim column As New GridColumn() Dim bindingExpression As New Binding("ProductName") With { _ Key .Mode = BindingMode.TwoWay _ } column.Binding = bindingExpression gridControl1.Columns.Add(column)
要為數據源中的所有屬性創建列,請調用方法。此方法清除網格的集合,并用與數據源中的所有屬性對應的列或卡片字段重新填充該集合。
使用方法將列列表添加到集合。
您可以在ViewModel中定義列,并在GridControl中顯示它們。
GridControl可以顯示包含自定義內容的列(例如,圖像或按鈕)。為此,創建一個DataTemplate并將其分配給屬性。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網