powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / про DataRelation
6 сообщений из 6, страница 1 из 1
про DataRelation
    #32579120
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маленький вопрос...
Есть поле. И хочется чтобы при изменении значения в этом поле менялись бы значения в других полях (брались бы из справочника)...
это примерно как Master-Detail на Дельфях..
мне кажется здесь надо копать в сторону DataRelation..
не подскажете как с ним работать?
...
Рейтинг: 0 / 0
про DataRelation
    #32579157
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется здесь надо копать в сторону DataRelation..


Правильно думаете


Есть поле. И хочется чтобы при изменении значения в этом поле менялись бы значения в других полях (брались бы из справочника)...
это примерно как Master-Detail на Дельфях..


С DataRelation работать очень просто. Так как вопрос носит общий характер то отвечу тоже без конкретики:

1) Таблица Master и Detail должны быть в одном DataSet
2) Понятно что таблица Master - у нас справочник, Detail таблица с данными
3) Определяем между Master Detail - наш DataRelation
4) Создаем в Detail - data expression column, например так:
Код: plaintext
1.
detailTable.Columns.Add("MasterColumnNameExpr", GetType(string),"Parent(Master2Detail).MasterColumnName") // Где например Master2Detail - имя нашего DataRelation, а MasterColumnName - имя столбца из справочника
5) Все теперь у нас в detailTable будет column с именем MasterColumnNameExpr (насколько помню delphi, скорее всего совсем уже не помню , аналог lookup поля)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
про DataRelation
    #32579526
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал вот так:aCont.SelectCommand.Parameters.Clear()
aCont.SelectCommand.Parameters.Add _
(New SqlClient.SqlParameter("@cont", SqlDbType.VarChar, 10))
aCont.SelectCommand.Parameters(0).Value = row("container")
aCont.SelectCommand.CommandText = _
"select * from containers where containers=@cont"

aCont.Fill(DsPriem1)
не DataRelation, но работает...
...
Рейтинг: 0 / 0
про DataRelation
    #32579571
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не DataRelation, но работае


Т.е. получается что при изменении значения все время подгружаются данные из справочника? Или нет, к сожалению из приведенного кода решение не очевидно.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
про DataRelation
    #32579607
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, именно так...
при изменении значения все время подгружаются данные из справочника..
это не лучший вариант, понимаю...
...
Рейтинг: 0 / 0
про DataRelation
    #32579625
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда уж просто загрузите клиенту справочник полностью и берите данные оттуда. Получится без лишнего обращения к БД

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / про DataRelation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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