У меня есть проект, который подключается к производственной базе данных и получает таблицы и представления. Унаследованный код соединяется с базой данных SQL Server через SqlConnection с предоставленными пользователем учетными данными и указанным местоположением базы данных. Когда требуются данные, он использует соединение и строку SQL для создания SqlDataAdapter и заполняет новый DataSet. Затем эти данные отображаются после манипулирования ими, замены имен столбцов таблицы соответствующими отображаемыми именами, и тому подобное.
Проблема в том, что весь процесс медленный, и проблема заключается в том, что он отображает большие объемы данных в ListViews, которые не очень удобны для получения десяти тысяч строк данных. По причинам дизайна мы не собираемся разбивать страницы - здесь есть элемент управления поиском - и я могу с огромными усилиями реализовать виртуальный ListView, чтобы просто вернуться туда, где я был. Я просто думаю, что это неправильное приложение для ListViews - я подключаюсь к базе данных и отображаю записи. Похоже, работа для DataGridView.
К сожалению, просто не будет работать . Я пытаюсь привязать DataGridView к DataSet, который я получил из кода соединения через DataBinder, но когда я запускаю его, чтобы посмотреть, как данные сидят в DataSet, тогда как DataGridView совершенно пуст.
Однако, если я использую привязку графического интерфейса пользователя в своей тестовой базе данных, принимая текущую схему базы данных и мои учетные данные, - вот и все. Но я не могу использовать этот материал, потому что он просто недостаточно гибок - я не хочу определять схему в коде, которую я должен менять каждый раз, когда мы обновляем базу данных, и мне нужен доступ к строке подключения, и Кажется, я не получаю это от TableAdapter, который он создает.
Я что-то упустил, чтобы заставить работать мое решение DataSet / BindingSource? Я лаю не на том дереве?
Стоит ли в любом случае возиться с переплетом? Кажется, что все связывающие вещи, которые я вижу, помогают мне на 90% пути, но тогда я не могу изменить строку подключения или отсортировать определенные столбцы так, как я хочу, и мне кажется, что я хочу дать ей определенную схему который сломается, как только изменится база данных - тогда как рукописный код, по крайней мере, защищен и достаточно гибок. Я не сокращаю возможности, и медленное решение уже работает - если мне придется отказаться от некоторых моих требований, чтобы заставить его работать, мы просто разберемся с тем, что у нас есть.