Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Связать Combobox и 2 таблицы / 11 сообщений из 11, страница 1 из 1
21.01.2015, 21:49
    #38860162
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Добрый день!
Которое время бьюсь над решением вроде бы простой задачи:
Есть 2 DataSet (dsc1) созданный в дизайре, в нем 2 datatable (tabl_ob и tabl_zak) связанные между собой по полям Id_zak (tabl_zak) и zak (tabl_ob). Данные в dataset грузятся из xml файла (туда же и сохраняются). Tabl_zak отображается на Form2 в datagrid (список заказчиков), тут же редактируются/добавляются. Tabl_ob отображаются на form1 в datagrid (список объектов), но данные в этой таблице редактируютcя/добавляются на form3 на которой есть textbox и combobox привязанные к соответствующим столбцам. Через Textbox все отлично добавляется/редактируется, а вот через combobox всегда добавляется 1-я строка tabl_zak, или выбранная в данный момент строка tabl_zak в datagride на form2. И уж тем более через combobox ничего не редактируется.
Как я привязываю данные (tabl_zak и tabl_ob связанны на form1 с bs_zak и bs_ob соответственно) :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
   
                TextBox1.DataBindings.Add("Text", Form1.bs_Ob, "№ в Геперте")
                TextBox5.DataBindings.Add("Text", Form1.bs_Ob, "№ Договора")
                TextBox3.DataBindings.Add("Text", Form1.bs_Ob, "Объект")
                TextBox6.DataBindings.Add("Text", Form1.bs_Ob, "Телефоны и ответственные лица")
                TextBox4.DataBindings.Add("Text", Form1.bs_Ob, "Город (район)")
                TextBox7.DataBindings.Add("Text", Form1.bs_Ob, "Примечания")
                CheckBox1.DataBindings.Add("Checked", Form1.bs_Ob, "Наличие акта")
                CheckBox2.DataBindings.Add("Checked", Form1.bs_Ob, "Акт подписан")


А это для combobox:
Код: vbnet
1.
2.
3.
        ComboBox1.DataSource = Form1.bs_zak
        ComboBox1.DisplayMember = "Наименование"
        ComboBox1.ValueMember = "Id_zak"


И вот тут наверное я что-то не то делаю:
Код: vbnet
1.
ComboBox1.DataBindings.Add("SelectedValue", Form1.bs_Ob, "Zak")


Укажите пожалуйста ошибку.
...
Рейтинг: 0 / 0
22.01.2015, 15:46
    #38860818
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
wawawaсвязанные между собой по полям Id_zak (tabl_zak) и zak (tabl_ob)
Наверное вы перепутали местами мастер и детайл
...
Рейтинг: 0 / 0
22.01.2015, 19:46
    #38861133
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Cat2 Наверное вы перепутали местами мастер и детайл

В смысле таблицы?
Tabl_zak - родительская, Tabl_ob - дочерняя. Если я правильно понял Ваше замечание. Но дело наверняка не в этом.
Дело в том, что подобная конструкция работала. Потом я случайно удалил строку
Код: vbnet
1.
ComboBox1.DataBindings.Add("Вот здесь было как-то")

, а от как было не помню.
...
Рейтинг: 0 / 0
22.01.2015, 20:51
    #38861168
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Кстати если строку
Код: vbnet
1.
ComboBox1.DataBindings.Add("SelectedValue", Form1.bs_Ob, "Zak")

комментировать - данные добавляются корректно (то есть что в ComboBox выбрано, то и добавляется), но не редактируются.
...
Рейтинг: 0 / 0
22.01.2015, 21:17
    #38861176
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Если данные в таблице редактируются при помощи комбобокса, источником (DataSource) которого является другая таблица, то таблицы не должны быть связаны
...
Рейтинг: 0 / 0
22.01.2015, 21:21
    #38861179
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Спасибо! Попробую реализовать без связей.
...
Рейтинг: 0 / 0
22.01.2015, 21:28
    #38861181
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Удаление связи ни к чему не привело.
...
Рейтинг: 0 / 0
22.01.2015, 21:34
    #38861184
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
wawawaУдаление связи ни к чему не привело.
Значит что-то вы не так привязали в комбобоксе
...
Рейтинг: 0 / 0
22.01.2015, 21:36
    #38861185
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
А может есть другие способы редактирования данных в родительской таблице? Или можно на момент редактирования "разорвать" связь с ComboBox с родительской таблицей? Но как тогда получить данные в ComboBox из родительской таблицы?
...
Рейтинг: 0 / 0
22.01.2015, 21:40
    #38861190
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Извините, в предыдущем сообщении фразу авторА может есть другие способы редактирования данных в родительской таблице заменить на "А может есть другие способы редактирования данных в дочерней таблице"
Хотя как получить из родительской в ComboBox понятно, а вот как синхронизировать эти изменения в дочерней?
...
Рейтинг: 0 / 0
22.01.2015, 22:10
    #38861210
wawawa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связать Combobox и 2 таблицы
Ну вот бывает же, свойство строки Zak ReadOnly стояло в true после изменения на False все заработало как надо даже в связанных таблицах.
Спасибо огромное Cat2 за участие. Если есть как выразить благодарность на форуме - расскажите, отблагодарю.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Связать Combobox и 2 таблицы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]