Отображать пары при привязке из базы данных - PullRequest
0 голосов
/ 20 февраля 2020

Есть ли способ проверить столбец NAME на одно и то же имя, и если имя совпадает. Клиенты = Дубликаты, оставьте оба видимыми. Это возможно с каким-то фильтром?

Получение данных из базы данных:

        private async void Button_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                ProgressBar.IsIndeterminate = true;

                DataGrid1.ItemsSource = await GetDataAsync();

                ProgressBar.IsIndeterminate = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


        }

1 Ответ

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

Может быть, когда вы заполняете свою сетку

DataGrid1.ItemsSource = await GetDataAsync();

, вы можете сделать что-то вроде

var gridView = await GetDataAsync();
var collectionView = new ListCollectionView(gridView) as ICollectionView;
collectionView.Filter = (r) => gridView.where(t => t.Name == r.Name && t != r).Count() >= 2;

DataGrid1.ItemsSource = collectionView;

Это всего лишь идея. Есть еще проблемы с этим:

  • Это выражение LinQ: gridView.where(t => t.Name == r.Name && t == r) явно неверно, но оно дает вам представление о том, что вы должны делать. Найдите правильные типы и правильный способ проверки имен.
  • Вы все равно должны делать это каждый раз, когда обновляете свой DataView.

Это должно отображать только те строки, которые являются подарок два раза или больше.

Надеюсь, я был полезен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...