Как сохранить подробное представление SfDataGrid расширенным? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть SfDataGrid, и я сделал DetailsViewDefinition для этого. Я также делаю ExpandAllDetailsView из кода, чтобы развернуть все детали, и я хочу оставить их открытыми, но сразу после первого переупорядочения или первой перегруппировки они рухнут.

Я пытался любыми событиями (что имело смысл) открыть, но только MouseUp был ближе всего к цели, но это было довольно плохо, потому что он не работает на заголовке и будет открываться при каждой мышинке, так что это был очень плохой взлом.

Я хотел бы знать хороший и рабочий способ держать строку подробно открытой даже после таких событий, как переупорядочение / группа .

1 Ответ

0 голосов
/ 20 февраля 2020

Вы можете выполнить свои требования, используя метод SfDataGrid.ExpandAllDetailsView. Для группировки вы можете добиться этого с помощью события SfDataGrid.GroupColumnDescription.CollectionChanged,

this.dataGrid.GroupColumnDescriptions.CollectionChanged += GroupColumnDescriptions_CollectionChanged;
private void GroupColumnDescriptions_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
dataGrid.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.ApplicationIdle,
          new Action(() =>
          {
              this.dataGrid.ExpandAllDetailsView();
          }));
 }

Для сортировки вы можете достичь этого с помощью события SfDataGrid.SortColumnsChanged,

this.dataGrid.SortColumnsChanged += DataGrid_SortColumnsChanged;

private void DataGrid_SortColumnsChanged(object sender, GridSortColumnsChangedEventArgs e)
{
    dataGrid.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.ApplicationIdle,
         new Action(() =>
         {
             this.dataGrid.ExpandAllDetailsView();

         }));
}

Sample

С уважением,

Susmitha S

...