SQLite используется для заполнения ListView в WPF C # - PullRequest
0 голосов
/ 20 июня 2010

У меня есть база данных SQLite с более чем 100 000 записей.Мне нужны данные для заполнения ListView в моем проекте WPF.Я использую System.Data.SQLite.Какой (лучший) способ получить эту настройку, чтобы она работала с использованием виртуализации?

Кроме того, каков наилучший способ фильтрации представления списка на основе поиска по ключевым словам?Я стремлюсь к максимальной скорости.

Ответы [ 2 ]

1 голос
/ 21 июня 2010

Вот как я это сделал:

SQLiteConnection sql_con = new SQLiteConnection("data source=YOUR DATA SOURCE");
sql_con.Open();
SQLiteCommand sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = "SELECT * FROM table_name";
SQLiteDataAdapter DB = new SQLiteDataAdapter(sql_cmd.CommandText, sql_con);
DataSet DS = new DataSet();
DB.Fill(DS);
YourListView.DataContext = DS.Tables[0].DefaultView;

Необходимо убедиться, что ваш ListAM XAML также настроен с соответствующей привязкой данных, иначе ListView не будет заполняться.

1 голос
/ 20 июня 2010

Это плохой подход к заполнению 100 тыс. Элементов.

Никто никогда не будет прокручивать этот список.

Вместо этого отобразите последние 100 использованных и используйте фильтр.Они определенно будут использовать фильтр для поиска значения, а не для прокрутки списка.

Иметь индекс по столбцам фильтра, а для строковых данных разрешать фильтрацию только с начала слова, поэтому индексы должны работать, так какони не будут работать, если вы сделаете LIKE поиск, поэтому он будет медленнее.

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