在 RadGridView 中一次展开一行 - C# Telerik

Expand one row at a Time in RadGridView - C# Telerik

我有一个带有分层模板的 rad 网格视图。用户可以展开每一行,在正常模式下用户可以展开几行。我需要防止这种行为,让用户一次只能展开一行。

我在 telerik 论坛和 Google 中进行了搜索,但没有找到任何适用于 winforms radgridview 的有用代码。

捕获展开事件,并在其中折叠所有行,因此新展开的行将是唯一展开的行。

使用radGridView的ChildViewExpanded event和一个变量来存储最后展开的row index

 int lastExpandedRow = -1;
 private void radGridView_ChildViewExpanded(object sender, ChildViewExpandedEventArgs e)
 {
   int parentRowIndex = e.ParentRow.Index;
   if (lastExpandedRow != -1 && lastExpandedRow != parentRowIndex )
   {
      radGridView.Rows[lastExpandedRow].IsExpanded = false;
   }
   lastExpandedRow = parentRowIndex ;
 }