powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / dataSet
5 сообщений из 5, страница 1 из 1
dataSet
    #32514226
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как справиться со следующей задачкой.
Имеется dataSet в которой есть две связанные таблицы
1-я таблица name=tblControl
IdControl
X
Y
Width
Heigth
2-я таб. name=tblColor
IdColor
IdControl
Red
Green
Blue

При считывании данных из таб. tblControl

for (int i=0; i<dataset11.Tables ["tblControl"].Rows.Count; i++)
{
int idControl=(int)dataset11.Tables ["tblControl"].Rows [0];

// КАК получить данные из tblColor соответствующие tblControl т.е.


int red=?????
int green=????
int blue=????

}
...
Рейтинг: 0 / 0
dataSet
    #32514251
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Navigating a Relationship between Tables

пример -

[C#]
DataRelation custOrderRel = custDS.Relations.Add("CustOrders",
custDS.Tables["Customers"].Columns["CustomerID"],
custDS.Tables["Orders"].Columns["CustomerID"]);
foreach (DataRow custRow in custDS.Tables["Customers"].Rows)
{
Console.WriteLine(custRow["CustomerID"]);
foreach (DataRow orderRow in custRow.GetChildRows(custOrderRel))
Console.WriteLine(orderRow["OrderID"]);
}
...
Рейтинг: 0 / 0
dataSet
    #32514258
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один из вариантов без использования relation
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
int idControl=(int)dataset11.Tables ["tblControl"].Rows[ 0 ];  // Взять ID первой записи
DataRow [] rows = dataset11.Tables["tblColor"].Select("IdControl = '" + idControl.ToString() +"'", "", System.Data.DataViewRowState.CurrentRows);
foreach(DataRow drw in rows)
{
    int red  = (int) drw["Red"];
   // and  etc
    Console.WriteLine(red.ToString());
}

Не понял только для чего у вас цикл если i нигде не используется. Очевидно очепятка. Ну думаю идея понятна.
...
Рейтинг: 0 / 0
dataSet
    #32514351
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да действительно опечатка
надо было в место
int idControl=(int)dataset11.Tables ["tblControl"].Rows[0];
написать
int idControl=(int)dataset11.Tables ["tblControl"].Rows [0];

И к сказанномо выше. Если я понял правильно, то в таб. tblColor в любом случае придется пробегать по всему содержимому строк????
...
Рейтинг: 0 / 0
dataSet
    #32514392
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>И к сказанномо выше. Если я понял правильно, то в таб. tblColor в любом случае придется пробегать по всему содержимому строк????

Нет я привел пример когда "пробегать" надо лишь по неудаленным и удовлетворяющих критерию ("IdControl = '" + idControl.ToString() +"'") строкам.

Если у вас запись с определенным IdControl в таблице tblColors всего одна, то есть отношение один к одному то в массиве указателей на строки (rows) будет только один указатель именно на эту запись, следовательно в цикле for each в этом случае одна итерация.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / dataSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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