Telerik UI for WinUI?下载30天免费试用

行细节

每一个RadGridViewrow能够通过DataGrid的行详细信息特性显示额外的信息。

要启用行详细信息功能,请设置RowDetailsDisplayMode然后分配一个特定的RowDetailsTemplate到数据网格。行和行详细信息共享相同的数据上下文,因此您可以自由地将模板中的元素绑定到数据项的任何属性。

您还需要利用ShowRowDetailsForItem而且HideRowDetailsForItem方法,用于展开或折叠行详细信息内容。单行的行详细信息可以一次显示,因此打开一个RowDetails面板自动隐藏之前显示的一个(如果有的话)。

使用RowDetailsTemplate

下面的示例分别演示了一个DataGrid,其自定义列包含一个CheckBox(用于显示行详细信息),并展示了如何用数据填充DataGrid,以及更改可视化行详细信息的行的逻辑。

带有RowDetailsTemplate的DataGrid

<网格xmlns:网格= "使用:Telerik.UI.Xaml.Controls。Grid"> < Grid:RadDataGrid x:Name="DataGrid" UserGroupMode="Disabled" AutoGenerateColumns="False" RowDetailsDisplayMode="Single"> < Grid:RadDataGrid。RowDetailsTemplate>                       

填充RadDataGrid并处理复选框单击事件

公共密封的部分类MainPage: Page{公共MainPage() {this.InitializeComponent();this. datagid . itemssource = new List {new DataItem{国家= "联合王国",首都= "伦敦"},new DataItem{国家= "德国",首都= "柏林"},new DataItem{国家= "加拿大",首都= "渥太华"},new DataItem{国家= "美国",首都= "华盛顿"},new DataItem{国家= "澳大利亚",首都= "堪培拉"}};foreach (this.DataGrid.ItemsSource as List){项。Details = new ObservableCollection();item.Details。添加(新客户(){名称= "Karla Farver",公司= "Iceberg Systems",电子邮件= "karla.farver@icebergsys.com"});item.Details。添加(新客户(){名称= "Anton Donovan",公司= "Rushcorp",电子邮件= "client@rushcorp.com"});item.Details。添加(新客户(){名称= "Shellie Heron",公司= "Riverbite",电子邮件= "shellie@riverbite.com"});item.Details。添加(新客户(){名称= "Tom Haack",公司= "Aprico",电子邮件= "tom.haack@aprico.com"});}} private DataItem currentCheckedItem;OnCheckBoxClick(对象发送方,microsoft . ui . xml . routedeventargs e) {var cb = (CheckBox)发送方;var newCheckedItem = (DataItem)cb.DataContext;如果(cb.IsChecked。HasValue && cb.IsChecked.Value) {this. datagrid . showrodetailsforitem (newCheckedItem);} else {this.DataGrid.HideRowDetailsForItem(newCheckedItem);} if (currentCheckedItem != null) {currentCheckedItem.}HasRowDetails = false;} currentCheckedItem = newCheckedItem;}}公共类DataItem{公共字符串国家{get; set; } public string Capital { get; set; } public bool HasRowDetails { get; set; } public ObservableCollection Details { get; set; } } public class Customer { public string Name { get; set; } public string Company { get; set; } public string Email { get; set; } }

带有RowDetails的DataGrid

带有RowDetails的RadDataGrid

另请参阅

在本文中
找不到你需要的帮助?
Baidu
map