45 / 45 / 7
Регистрация: 28.05.2009
Сообщений: 87

Связать два dbGrid-а

29.05.2010, 21:59. Показов 3639. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как можно связать 2 dbgid в с#? как делать мастер таблицу и деталь таблицу в одном dbGrid понял, а вот как связать таблицы в разных dbGrid? вручную с помощью sql написал всё работает. как еще можно?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  //делаем вторую таблицу связанную с 1 с помощью поля tippl
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            string sql = "select top 100 * from tpay where tippl=?";
            dataAdapter.SelectCommand = new OleDbCommand(sql, conn);
 
           
            DataRowView eee = bs2.Current as DataRowView;
 
 
            dataAdapter.SelectCommand.Parameters.Add("tippl", OleDbType.Char, 0, "tippl").Value = Convert.ToString(eee["sch"]);
            dataAdapter.TableMappings.Add("Table", "Товары");
            dataAdapter.Fill(dataSet1);
            BindingSource bs = new BindingSource();
            bs.DataMember = "Товары";
            bs.DataSource = dataSet1;
            dataGrid1.DataSource = bs;
            bindingNavigator1.BindingSource = bs;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2010, 21:59
Ответы с готовыми решениями:

Связать два DBGrid'a.
Здравствуйте, нужно связать два ДБгрида, на одном бд книг, а на другом читатели - тема арм "библиотека". Не знаю как сделать...

Как связать два DBgrid'a?
Есть два ДБГриди и по ДатаСету и ДатаСорсе для каждого грида. В одном гриде отображается таблица с ключевым полем, а в другом гриде нужно с...

Связать два DBGrid на одной форме
Нужно связать два DBGrid находящихся на одной форме. Как это сделать? Объясните пожалуйста как-нибудь попроще, я не особо знаю...

2
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
13.06.2010, 21:02
C#
1
2
3
4
5
6
7
8
9
10
11
ForeignKeyConstraint FCK = new ForeignKeyConstraint("FK_GroupID_StudentsGroupId", GetGroupsTable().Columns["id"], GetStudentsTable().Columns["GroupId"]);
                        FCK.UpdateRule = Rule.Cascade; //prosto dlya premera
                        FCK.DeleteRule = Rule.Cascade;
 
                        DataRelation rel = new DataRelation("GroupID_StudentsGroupId",GetGroupsTable().Columns["id"],GetStudentsTable().Columns["GroupId"],false);
 
                        //add constraint here 
                        rel.ChildTable.Constraints.Add(FCK);
                        
 
                        this.dsStepAcademy.Relations.Add(rel);
1
45 / 45 / 7
Регистрация: 28.05.2009
Сообщений: 87
15.06.2010, 15:50  [ТС]
вот только как сделать чтобы в разных dgrid это связь действовала, забил этот код. все равно в 1 дата гриде эта связь через плюсик видна

Добавлено через 3 часа 59 минут
нашел решение

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
 conn.Open();
            string sql2 = "select * from schet";
            string sql1 = "select top 200 * from tpay";
            DataSet dataSet1 = new DataSet();
            OleDbDataAdapter dataAdapter2 = new OleDbDataAdapter();
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            dataAdapter.SelectCommand = new OleDbCommand(sql1, conn);
            dataAdapter.TableMappings.Add("Table", "Услуги");
            dataAdapter.Fill(dataSet1);
            //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
            dataAdapter2.SelectCommand = new OleDbCommand(sql2, conn);
            dataAdapter2.TableMappings.Add("Table", "Поставщики");
            dataAdapter2.Fill(dataSet1);
 
            
            DataRelation rel = new DataRelation("GroupID_StudentsGroupId", dataSet1.Tables["Поставщики"].Columns["sch"], dataSet1.Tables["Услуги"].Columns["tippl"], true);
            dataSet1.Relations.Add(rel); // добавляем связь
 
            dataGridView1.DataSource = dataSet1;
            dataGridView1.DataMember = "Поставщики.GroupID_StudentsGroupId";  //!!!! ВОТ ОНО
            dataGrid1.DataSource = dataSet1; // если тут использовать datagridview то "+" не будет 
            dataGrid1.DataMember = "Поставщики";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2010, 15:50
Помогаю со студенческими работами здесь

Связать DBIMAGE с DBGRID
У меня на форме есть DBGRID и компоненты ADO,Data Source,связал их и вышла в дбгрид таблица. Теперь мне нужно чтобы когда я нажимал на одно...

TreeView связать с Dbgrid
Нужно реализовать, связь чтобы при выборе структуры, выводились записи в dbgrid (база данных есть, но как между ними связать не...

Связать ComboBox с DbGrid-ом
здравствуйте. помогите пожалуйста связать combobox с dbgrid. допустим у меня есть несколько таблиц: 1семестр, 2 семестр и т.д. Когда я в...

Как связать Dbgrid с Dbimage?
как связать Dbgrid с Dbimage чтобы посмотреть фото когда листаешь список

Delphi связать несколько dbgrid
Уважаемые программисты у меня есть программа (ссылка на программу http://my-files.ru/jnr04v) в ней имеется несколько DBgrid. Я хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru