9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|
1 | |
Можно ли через код создать BindingSource?30.10.2016, 14:25. Показов 3227. Ответов 14
Метки нет (Все метки)
Имеется dataGridView - 2шт.
*** СЦЕНАРИЙ 1. Вписываем путь к файлу в textBox1 c:\Users\db.mdb; 2. Нажимаем "button1" (Подключить базу); 3. Из Access данные импортируются в каждый dataGridView 4. В результате код создаёт для: - dataGridView 1 - соединение BindingSource1 - dataGridView 2 - соединение BindingSource2 *** ВОПРОС 1. Можно ли кодом подключить к dataGridView файл Access через отдельные BindingSource? Т.е. чтобы не открывать кучу диалогов "Мастер настройки источника данных" (см. скрин рис. 2), а прописать в коде все необходимые действия и реализовать (Сценарий п.3) PS Мой уровень владения C# - низкий. Поэтому прошу делать поправку на неточности в терминологии, если таковые имееются
0
|
30.10.2016, 14:25 | |
Ответы с готовыми решениями:
14
Можно ли создать интерфейс, через который можно было бы изменять параметры блоков Simulink? Поиск по datagridview, а не через BindingSource Bindingsource.filter через radiobutton Редактирования ячейки через BindingSource |
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
30.10.2016, 14:38 | 2 | |||||
zakaz_77,
Пример:
commText - текст sql запроса dgvEmpl - DataGridView
1
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
||||||
30.10.2016, 16:56 [ТС] | 3 | |||||
Я слепил кое-как.... Не знаю, может совсем бред сделал...
Но по крайней мере ошибка выскакивает только по переменной "connString" в строке 31 Ошибка Ошибка CS1061 'Settings' does not contain a definition for 'connString' and no extension method 'connString' accepting a first argument of type 'Settings' could be found (are you missing a using directive or an assembly reference?) Гугл перевод ошибки "Настройки" не содержит определения для 'connString' и без метода расширения '' connString принимать первый аргумент типа "Настройки" можно найти (вы пропали без вести с помощью директивы или ссылка на сборку?) Привожу код Кликните здесь для просмотра всего текста
ВОПРОС 1. Правилен ли код для решения поставленной задачи в топике #1? 2. Как убрать ошибку "connString"? PS Даценд, ещё раз огромное спасибо за оперативный ответ.
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|||||||||||
30.10.2016, 17:13 | 4 | ||||||||||
zakaz_77,
Мой пример взят из проекта, где строка подключения сохранялась в Properties.Settings, поэтому при "дословном" использовании примера будут ошибки. Вместо Properties.Settings.Default.connString можно воспользоваться connString:
1
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|
30.10.2016, 17:37 [ТС] | 5 |
Выдаёт ошибку в "textBox1"
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
30.10.2016, 18:11 | 6 |
Есть 2 варианта:
1) Путь к фалу вводится после запуска программы. Для получения из текстбокса пути обрабатываем щелчок по кнопке. 2) Путь задается заранее (в конструкторе формы). Для получения из текстбокса пути обрабатываем событие Load формы. Т.е. connString можно оставить полем формы, но прочитать текст из текстбокса можно только при обработке какого-либо события.
0
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|
30.10.2016, 18:15 [ТС] | 7 |
Лучше по варианту 1
Не могли бы вы подсказать как скорректировать код.
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
30.10.2016, 18:24 | 8 | |||||
zakaz_77,
см. комментарии Кликните здесь для просмотра всего текста
0
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
||||||
30.10.2016, 18:48 [ТС] | 9 | |||||
Блин я вроде "string connString" в это место и прописывал...
Сделал так Кликните здесь для просмотра всего текста
ОШИБКА В строке adapter.Fill(table); Выдаёт ошибку Необработанное исключение типа "System.Data.OleDb.OleDbException" в System.Data.dll Дополнительные сведения: Could not find installable ISAM. При первоначально изучении решений по данной ошибке требуется работа с реестром и переустановка офиса. Пока продолжаю разбираться с ошибкой. Может у вас будет какое-нибудь решение попроще? Или может я допустил ошибку в коде..
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
30.10.2016, 20:50 | 10 |
zakaz_77,
возможные причины: 1) нет драйвера для OLEDB.12.0 (не установлен MS Office, или установлена версия <2003) 2) неправильно сформирована строка подключения 3) неправильно введены путь и/или имя файла БД Смотрю и не вижу, что пробела то нужного нет в строке: Между Data и Source
1
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|||||||||||
30.10.2016, 23:58 [ТС] | 11 | ||||||||||
))
Какой ужас... три часа рыл интернет Проблема была в "пробеле" в DataSource={0}. Data Source={0} правильно писать с пробелом между Data и Source Доработал код 1. Подключил dataGridView2. 2. Сделал отдельные фильтры по диапазонам для: - dataGridView1; - dataGridView2; 3. Прописал фильтрацию по ID. Не работает! Привожу код Кликните здесь для просмотра всего текста
ВОПРОСЫ 1. Как исправить ошибку с строках 70 и 74? bs, bs1 Подчёркнуто красным. Привожу скрин 2. Как избавиться от фильтра по диапазонам? Т.е. при отладке один раз отфильтровал. Потом я закомментировал строки с фильтром по диапазонам. () строки 57-60, 42-46. Запускаю отладку, а таблицы dataGridView1, dataGridView2 так и остались отфильтрованы по диапазону На сколько мне опыт позволяет предположить, то 2.1. можно кнопку сделать типа Кликните здесь для просмотра всего текста
2.2. Или через Form1_Load Не могли бы вы посоветовать, что-нибудь и по варианту 2.1 и по 2.2.
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|||||||||||
31.10.2016, 00:22 | 12 | ||||||||||
Объявить bs, bs1 как поля класса формы. Инициализировать можно в методе. Т.е.
Вообще фильтр можно снять так:
1
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|||||||||||
31.10.2016, 09:16 [ТС] | 13 | ||||||||||
Действительно при последующих отладках проблема исчезла
КОРРЕКТИРОВКИ 1. Добавил
КОД Кликните здесь для просмотра всего текста
ВОПРОСЫ 1. После корректировки п.1 появилось сообщение "CS0649 Полю "Form1.bs" нигде не присваивается значение, поэтому оно всегда будет иметь значение по умолчанию null." Как от него избавиться? 2. Как сделать чтобы фильтрация dataGridView1 и dataGridView2 происходила по разным условиям? dataGridView1 фильтруется по условию " [Nom] >= 11 and [Nom] <= 13" dataGridView2 фильтруется по условию " [Nom] >= 31 and [Nom] <= 33" На данный момент dataGridView1 и dataGridView2 фильтруются только по условию " [Nom] >= 11 and [Nom] <= 13" 3. При попытке отфильтровать по "ID" (button2_Click) выпадает ошибка "Ссылка на объект не указывает на экземпляр объекта." (прилагаю скрин) Думаю это связано с п.1 ВОПРОСЫ Как от этого избавиться?
0
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
31.10.2016, 11:09 | 14 | |||||
zakaz_77,
Сравните строки из моего сообщения:
и обратите внимание, что у меня здесь нет BindingSource перед bs и bs1.
1
|
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
|
|
31.10.2016, 11:44 [ТС] | 15 |
Заработало.
Хотя вроде так тоже делал... Но вот с вопросом : ничего не пойму Добавлено через 21 минуту Решил. Строку 55 закоментировал
0
|
31.10.2016, 11:44 | |
31.10.2016, 11:44 | |
Помогаю со студенческими работами здесь
15
Datagridview и удаление строк через BindingSource Фильтрация данных через BindingSource.Filter Обновление dataGridView, привязанное к БД через bindingSource Можно ли создать бд через PDO? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|