|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
Давненько уже не работал на Фоксе - уже и азы некоторые, к сожалению, позабывал :( Помогите решить такой вопрос, пожалуйста. В DataEnvironment формы включены 2 таблицы: основная и справочник/словарь. В основной таблице протоколируются действия оператора, в ней есть поле operator , представляющее собой цифровой идентификатор текущего оператора, а в словарной таблице - имеется соответствующее поле id и поле nam , расшифровывающее ФИО оператора. Таблицы проиндексированы и связаны по указанным полям - поэтому на форме видно, как перемещение указателя в основной таблице вызывает соответствующий переход в словарной таблице. Но фактически отображать словарную таблицу на форме мне не нужно - просто надо как-нибудь подставить из неё соответствующее значение в колонку operator основной таблицы вместо цифрового идентификатора. Т.е., на форме должна быть одна единственная таблица. Помню, что когда-то в своей Fox-юности я как-то это проделывал (через промежуточную таблицу, что ли?) - уже не помню, к сожалению. Подскажите, пожалуйста, какой-нибудь способ для VFP9. Архив с соответствующими файлами формы и таблиц прилагаю. P.S. И ещё - не могу найти, почему у меня в основной таблице не срабатывают свойства Grid1.Column*.Header.BackColor - хочу раскрасить заголовки колонок, а они не реагируют :( Подскажите, как победить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2018, 02:38 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
Укажи нужное поле из привязанной таблицы в Column*.ControlSource Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2018, 07:49 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
neznajka, Вопрос к фоксу отношения не имеет. Он решается одинаково для всех реляционных СУБД Код: sql 1. 2. 3.
Вашу форму на помойку. Создайте курсор, потом настройте грид на него. Или как я сделал, от лени, курсор создается в Load формы. neznajkaP.S. И ещё - не могу найти, почему у меня в основной таблице не срабатывают свойства Grid1.Column*.Header.BackColor - хочу раскрасить заголовки колонок, а они не реагируют :( Подскажите, как победить. У таблиц нет никаких хидеров. Зато они есть у грида, который ПОКАЗЫВАЕТ некие данные. Чтобы менять цвет надо поставить Grid1.Themes = .F. Не нашел где это писали на форме, и главное зачем, если все остальное визуально настраиваете. В приложенном решении, сделано и так, и так. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2018, 08:05 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
Что то не могу приложить файл. Жму "Выберите файл" выбираю, дальше что? Но суть такова. В Load пишешь мой код + ' into cursor qqq' Соответственно настраиваешь грид на этот курсор, а колонки на его поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2018, 08:18 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
To Dima T: Спасибо вам! Теперь вспомнил, что именно так я когда-то и делал. Я это называю "по-Аксессовски" :) To asdor: Спасибо за участие, но форму-то зачем на помойку? Она - тестовая, иллюстрационная, создана на коленке за 5 минут лишь для показа сути вопроса, а не для работы. Эдак если все пробные формы на помойку выкидывать - там места и вовсе не останется :) Да, ваш вариант тоже подходит. Но лишь для показа данных. Если в перспективе мне понадобится их редактировать через ту же форму - курсор не поможет, придётся много другого кода писать. Правда, в своём вопросе я не упомянул о необходимости редактирования. А вот за Grid1.Themes = .F. - отдельное спасибо, я про это и вовсе забыл. Наверное, потому, что больше работал с семеркой, чем с девяткой. В общем - спасибо всем за участие! Приятно иметь дело со знатоками на этой ветке форума! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2018, 13:47 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
neznajka, Форму на помойку, из -за DataEnvironment Редактировать в гриде... ну-ну... каждый сам себе копает, и любопытно, как вы это сделаете, в приведенной вами задаче)))) Не стоит обижаться. Но стоит подучить что такое реляционные БД. Вообще то нормально, когда юзеру показывается некий локумент (список документов), на самом деле собранный из многих таблиц. Но вот для редактирования, все же делают отдельную форму. Ну и последнее. Мое решение ориентировано, на любую СУБД. Совсем не обязательно работать с дбф. (Но и никто не запрещает) К тому же relation глюковат очень сильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2018, 18:14 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
А можно лли из курсора вставить только первый столбец, а остальное привязкой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2018, 20:53 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
andrepontА можно лли ... А можно спросить поподробнее? Я ничего не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2018, 21:01 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
Ну то есть в recordsours у грида источник данных таблица а не курсор, а вот первый столбец загружать из курсора? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 15:49 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
andrepontНу то есть в recordsours у грида источник данных таблица а не курсор,А это на что-то влияет? а вот первый столбец загружать из курсора?Куда загружать? О какой загрузке вообще речь? Вы не могли бы полнее выражать свою мысль, мы ведь к вам в голову не залезем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 08:57 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
andrepontНу то есть в recordsours у грида источник данных таблица а не курсор, а вот первый столбец загружать из курсора? Можно. Пишешь функцию, которая по данным таблицы найдет нужное в курсоре и выводишь ее Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 09:49 |
|
Подстановочное поле в Grid'е
|
|||
---|---|---|---|
#18+
andrepontНу то есть в recordsours у грида источник данных таблица а не курсор, а вот первый столбец загружать из курсора? Grid.RecordSource - это указание "головной" таблицы. А также той таблицы, которая будет использована по умолчанию, если структура Grid не настроена явно (Grid.ColumnCount = -1) Если же указать явно количество столбцов (Grid.ColumnCount = 10), то для каждого столбца можно будет указать свой собственный источник данных Grid.Column1.ControlSource - это поле - источник данных для соответствующего столбца Grid. В частности, это может быть и поле из другой таблицы, связанной с "головной" "Связь" в данном случае должна быть указана явно. Либо в DataEnvironment формы, либо прямой командой SET RELATION Также возможен вариант "вычисляемого поля" пример которого показал Dima T . Но такие поля, естественно, будут только на чтение ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 14:16 |
|
|
start [/forum/topic.php?fid=41&msg=39692646&tid=1581758]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 138ms |
0 / 0 |