Тема: DataGridView Вставити в запис кілька таблиць
Намагаюся налаштувати роботу з таблицями зв'язаними як один до багатьох
(База даних SQLite)
Вдалося зробити коректне відображення таблиць за допомогою класу DataRelation, але з додаванням нових записів є така проблеми: При створенні нового рядка залежність між новими рядками таблиць пропадає, тобто поле зв'язку (батьківське id) зберігається як NULL
Команда для оновлення яка використовуються:
dataAdapter_ChannelList.UpdateCommand = new SQLiteCommandBuilder(dataAdapter_ChannelList).GetUpdateCommand();
            dataAdapter_ChannelName.UpdateCommand = new SQLiteCommandBuilder(dataAdapter_ChannelName).GetUpdateCommand();Як зробити збереження таблиць які з'єднані зв'язком один до багатьох ?
Завантаження таблиць (для демонстрації, викликається при створені вікна)
ds = new DataSet();
            dataAdapter_ChannelList = new SQLiteDataAdapter("SELECT * FROM ChannelList", DB.SingleObject.connection);
            dataAdapter_ChannelList.Fill(ds, "ChannelList");
            dataAdapter_ChannelName = new SQLiteDataAdapter("SELECT * FROM ChannelName", DB.SingleObject.connection);
            dataAdapter_ChannelName.Fill(ds, "ChannelName");
            DataRelation dataRelation = new DataRelation(
                "ChannelList_ChannelName", 
                ds.Tables["ChannelList"].Columns["id"], 
                ds.Tables["ChannelName"].Columns["ChannelListID"]
                );
            ds.Relations.Add(dataRelation);
            BindingSource bindingSource_ChannelList = new BindingSource();
            BindingSource bindingSource_CL_CN = new BindingSource();
            bindingSource_ChannelList.DataSource = ds;
            bindingSource_ChannelList.DataMember = "ChannelList";
            bindingSource_CL_CN.DataSource = bindingSource_ChannelList;
            bindingSource_CL_CN.DataMember = "ChannelList_ChannelName";
            dataAdapter_ChannelList.UpdateCommand = new SQLiteCommandBuilder(dataAdapter_ChannelList).GetUpdateCommand();
            dataAdapter_ChannelName.UpdateCommand = new SQLiteCommandBuilder(dataAdapter_ChannelName).GetUpdateCommand();
            dataGridView_GroupNames.DataSource = bindingSource_ChannelList;
            dataGridView_ChannelNames.DataSource = bindingSource_CL_CN;Збереження / оновлення таблиць (викликається при натискні кнопки зберегти)
        private void Save()
        {
            dataAdapter_ChannelList.Update(ds.Tables["ChannelList"]);
            dataAdapter_ChannelName.Update(ds.Tables["ChannelName"]);
        }Ось так виглядають таблиці