Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.04.2013, 13:14
|
|||
---|---|---|---|
|
|||
databindings для таблицы с inner join'ами |
|||
#18+
Доброго времени суток! Вопрос скорее теоретический! Есть таблица, например, "книги" и таблица "авторы". Я вывожу в datagridview (через биндинги, адаптер, дататейбл и датасет) таблицу книги, но selectCommand у меня с inner join'ами. Также делаю CommandBuilder, т.к. он работает только с одной таблицей, то для него я делаю другой адаптер, у которого selectCommand = "SELECT * FROM Книги", и по нему строю update и insert для таблицы "книги". Сохраняет без проблем. Но в datagridview после update возвращается строка без фио автора, т.к. ее нет в таблице "книги", она берется из "авторы". Как можно обновить строку в datagridview (точнее, конечно же, в datatable) на основе selectCommand. Пробовал удалить текущую строку после изменения и делать adapter.Fill(dataset, currentindex, 1, "Книги"), пробовал вручную заполнять поля в строке, но некоторые поля readonly и т.д. Может быть есть какие-то "best practices" для таких случаев. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.04.2013, 20:43
|
|||
---|---|---|---|
|
|||
databindings для таблицы с inner join'ами |
|||
#18+
rubi, какой-то сумбур в изложении темы. Просто похоже на поток сознания... По пунктам разложите, что хотите достичь, что делаете и как, а там поглядим, может чем поможем. Если не трудно, также можно указать какую базу данных используете и пример исходников привести - оно всяко быстрее ответ получится найти... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.04.2013, 22:40
|
|||
---|---|---|---|
|
|||
databindings для таблицы с inner join'ами |
|||
#18+
Блокнот: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
В DataGridView вижу строчку ИД Название Автор 1 Война и мир Толстой Добавляю строку (не привожу подробности - заполняется строка не в DataGridView, т.к. readOnly, а через textbox'ы и combobox'ы, которые прикручены к datagridview через bindings). При сохранении делаю Код: c# 1. 2. 3.
и в датагридвью вижу новую строку ИД Название Автор 1 Война и мир Толстой 2 Доктор Живаго т.е. автор - пусто, что абсолютно естественно, т.к. _adapterBooks.InsertCommand возвращает данные на базе _baseAdapterBooks, в котором нет объединения с "Авторы". Решение (может конечно не лучшее, но все же): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Можно, конечно, обновить весь DataSource для dgv, но гораздо приятнее экономить ресурсы и обновлять одну единственную строчку. P.S. Прошу прощения за первый невнятный пост. И если будет более интересное решение - тоже буду рад увидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1404818]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 305ms |
total: | 464ms |
0 / 0 |