原創|其它|編輯:郝浩|2012-09-25 10:57:03.000|閱讀 269 次
概述:盡管當前的DevExpress AgDataGrid 不具有內置的主從數據支持,但是你可以通過grid 控件的PreviewTemplate來顯示數據的詳細信息。將AgDataGrid控件添加到master grid的PreviewTemplate,然后將其綁定到detail collection。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
盡管當前的DevExpress AgDataGrid 不具有內置的主從數據支持,但是你可以通過grid 控件的PreviewTemplate來顯示數據的詳細信息。將AgDataGrid控件添加到master grid的PreviewTemplate,然后將其綁定到detail collection。
接下來我們一起來看一個簡單的例子:
[C#]
public class Product {
public int ProductID { get; set; }
public string ProductName { get; set; }
public int CategoryID { get; set; }
public decimal UnitPrice { get; set; }
}
public class Category {
public int CategoryID { get; set; }
public string CategoryName { get; set; }
public string Description { get; set; }
public List<Products> Products { get; set; }
以分層方式來顯示數據,需根據以下步驟:
1)在頁面中添加AgDataGrid 控件
[XAML]
<Grid x:Name="LayoutRoot"> <grid:AgDataGrid x:Name="masterGrid" ColumnsAutoWidth="True"> <grid:AgDataGrid.Columns> <grid:AgDataGridColumn FieldName="CategoryID"/> <grid:AgDataGridColumn FieldName="CategoryName"/> <grid:AgDataGridColumn FieldName="Description"/> </grid:AgDataGrid.Columns> </grid:AgDataGrid> </Grid>
接下來將AgDataGrid控件綁定到分類中:
[C#]
public MainPage() {
InitializeComponent();
masterGrid.DataSource = CategoriesData.DataSource;
}
這就是master grid。
2)定義master grid的PreviewTemplate,并新增AgDataGrid控件:
[XAML]
<grid:AgDataGrid.PreviewTemplate> <DataTemplate> <Grid Height="180" Margin="20, 10, 20, 10"> <controls:TabControl> <controls:TabItem Header="Products"> <grid:AgDataGrid x:Name="detailGrid"> </grid:AgDataGrid> </controls:TabItem> </controls:TabControl> </Grid> </DataTemplate> </grid:AgDataGrid.PreviewTemplate>
3)將AgDataGrid綁定到產品屬性:
[XAML]
<grid:AgDataGrid.PreviewTemplate> <DataTemplate> <Grid Height="180" Margin="20, 10, 20, 10"> <controls:TabControl> <controls:TabItem Header="Products"> <grid:AgDataGrid x:Name="detailGrid" DataSource="{Binding Products}" ColumnsAutoWidth="True"> <grid:AgDataGrid.Columns> <grid:AgDataGridColumn FieldName="ProductID" /> <grid:AgDataGridColumn FieldName="ProductName" /> <grid:AgDataGridColumn FieldName="CategoryID" /> <grid:AgDataGridColumn FieldName="UnitPrice" /> </grid:AgDataGrid.Columns> </grid:AgDataGrid> </controls:TabItem> </controls:TabControl> </Grid> </DataTemplate> </grid:AgDataGrid.PreviewTemplate>
4)設置master grid的PreviewVisibility屬性值為ExpandedForFocusedRow,
[XAML]
<grid:AgDataGrid x:Name="masterGrid" ColumnsAutoWidth="True" PreviewVisibility="ExpandedForFocusedRow">
運行代碼后的結果如下:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網