Как удалить дубликаты данных в GridView - PullRequest
0 голосов
/ 21 мая 2019

У меня есть GridView, который используется для отображения данных в локальной папке. Если данные еще не существуют в локальной папке, я хочу скопировать их из «файла uu» в пакете решения. Принимая во внимание, что если он уже находится в локальной папке, он немедленно получит данные из локальной папки.

Код:

ObservableCollection<Book> datasource = new ObservableCollection<Book>();    
StorageFolder _folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
    _folder = await _folder.GetFolderAsync("UU pdf");
    _folder = await _folder.GetFolderAsync(direktori.Direktori);
    _folder = await _folder.GetFolderAsync(direktori.Name);
    IReadOnlyList<StorageFile> _files = await _folder.GetFilesAsync(); //which returns List<StorageFile>

    StorageFolder localFolder = ApplicationData.Current.LocalFolder;
    StorageFolder localFolder1 = await localFolder.CreateFolderAsync("FileUU", CreationCollisionOption.OpenIfExists);
    ((App)(App.Current)).DirectoriName = direktori.Direktori;
    StorageFolder localFolder2 = await localFolder1.CreateFolderAsync(((App)(App.Current)).DirectoriName, CreationCollisionOption.OpenIfExists);
    ((App)(App.Current)).DirektoriYear = direktori.Name;
    StorageFolder localFolder3 = await localFolder2.CreateFolderAsync(((App)(App.Current)).DirektoriYear, CreationCollisionOption.OpenIfExists);
    foreach (StorageFile file in _files)
    {
        if (!CheckFileExists(file.Name))    
        {
            try
            {
                        await file.CopyAsync(localFolder3);
                }
                catch
            {
            }
        }
    }
    IReadOnlyList<StorageFile> _filesC = await localFolder3.GetFilesAsync();
    foreach (StorageFile fileC in _filesC)
    {
        string name = @"SELECT filename from undangundang where identifier='" + fileC.DisplayName.Replace("_", " ").ToUpper() + "'";
            var nameQuery = objConnUpdate.Prepare(name);
            nameQuery.Step();
            Book buku = new Book();
            string name1 = nameQuery[0].ToString().Replace("_", " ");
            buku.Name = name1;
            datasource.Add(buku);
    }
    itemGridView.ItemsSource = datasource;

Book.cs

public class Book
    {
        public string Name { get; set; }

        public string Direktori { get; set; }

        public ImageSource Image { get; set; }
    }

У меня проблема, то есть данные, отображаемые в GridView, всегда повторяются, как показано ниже: duplicate data on gridview

Как мне с этим справиться?

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