![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Снятие выделения строк TDBGrid [D7, Paradox]
TDBGrid © (2008-01-07 17:40:00)Как можно снять выделение строк у компонента TDBGrid чтобы не указывало ни на одну строку...
TDBGrid (2008-01-08 02:12:00) [21]пример не тот, извиняюсь, это я о другом сейчас ещё парюсь.
Суть в том, что есть две таблицы, одна хранит полную информацию о персонале заведения, а другая краткую информацию. Ту таблицу, которая хранит полную информацию редактировать можно, а ту, которая краткую - нельзя, она получается из той, в которой полная информация.
TDBGrid (2008-01-08 02:10:00) [22]Ну, например таблица Clients и Numers. Clients хранит записи о клиентах определённого заведения, а Numers хранит информацию о комнатах в этих заведениях. И в таблице Clients есть поле номера комнаты, которое в таблице Numers является первичным ключом.
TDBGrid (2008-01-08 02:07:00) [23]Ну, то есть я редактирую только одну таблицу, назову её B, и после того, как запомнил состояние, нажимаю на опред. кнопочку и все записи из этой таблицы B переносятся в другую таблицу - A. А эта таблица у меня служит только для чтения, там я не могу редактировать записи, то есть если я удалю запись в таблице B, то она удалится и в таблице A, но вот при выборе строки в таблице A происходит выборка записи из таблицы B, и уже показывает не все записи в ней, а опред., попадающие под условие. Но мне нужно продолжить заполнение этой таблицы и видеть все записи, поэтому надо как-то программно отцепить привязку с таблицей A, но при этом она должна остаться открытой для чтения.
Vadim.Spb (2008-01-08 02:04:00) [24]Я тоже не понял мысли ....
Приведи пример таблиц и все станет ясно.
turbouser (2008-01-08 02:02:00) [25]
> TDBGrid (08.01.08 01:59) [25]
>
> Я вообще хотел чтобы у меня была одна таблица только для
> чтения,
DBGrid.ReadOnly:=true и все.
> Добавлять можно записи только во вторую таблицу, удалять
> и редактировать, при сохранении, они все автоматом чтобы
> переносились в первую.
Вот этого я не понял :(
TDBGrid (2008-01-08 01:59:00) [26]Я вообще хотел чтобы у меня была одна таблица только для чтения, но с возможностью выбора строк, по этой строке, если она выбрана во второй таблице появляется определённая запись, например совпадение по полям ID, но чтобы была какая-нибудь кнопочка, которая закроет эту выборку и чтобы в моей второй таблице вновь появились все записи. Добавлять можно записи только во вторую таблицу, удалять и редактировать, при сохранении, они все автоматом чтобы переносились в первую. А при выборе в первой определённой записи, как я уже написал, во второй появлялась тоже опред. запись. Но вот закрыть увы нельзя... А так всё это можно было бы реализовать.
Vadim.Spb (2008-01-08 01:57:00) [27]Нет, не поможет.
Германн (2008-01-08 01:55:00) [28]
> Германн © (08.01.08 01:52) [19]
>
>
Хотя нет. Способ есть. "Отвязать" одну таблицу от другой. MasterSource:='';
Сам не проверял. Не знаю поможет ли именно тебе.
TDBGrid (2008-01-08 01:55:00) [29]Жаль что нет, ладно, буду делать как-нибудь ещё, спасибо за советы.
Vadim.Spb (2008-01-08 01:54:00) [30]Так расскажи нам смысл. Или это секрет?
TDBGrid (2008-01-08 01:54:00) [31]Но если я его выгружу, то смысл программы теряется...
Германн (2008-01-08 01:52:00) [32]
> TDBGrid (08.01.08 01:49) [17]
>
> Извиняюсь за глупый вопрос, но что такое НД?
>
Набор Данных. Он же TDataSet.
> TDBGrid (08.01.08 01:44) [14]
>
> Извиняюсь, действительно при запуске привязка тоже активна,
> не усмотрел, но как можно сделать чтобы она таковой не
> была, должен же быть способ... И не визуально, а реально.
>
Нет такого способа.
Vadim.Spb (2008-01-08 01:52:00) [33]набор данных
TDBGrid (2008-01-08 01:49:00) [34]Извиняюсь за глупый вопрос, но что такое НД?
Vadim.Spb (2008-01-08 01:48:00) [35]А вообще, возникновение данной идеи вообще - следствие неправильного алгоритма программы, имхо.
Vadim.Spb (2008-01-08 01:46:00) [36]1. Выгрузить НД (просто и быстро)
2. Загадать желание на Новый Год (тоже просто, но долго ждать)
TDBGrid (2008-01-08 01:44:00) [37]Извиняюсь, действительно при запуске привязка тоже активна, не усмотрел, но как можно сделать чтобы она таковой не была, должен же быть способ... И не визуально, а реально.
Vadim.Spb (2008-01-08 01:40:00) [38]
> При запуске привязка не активна
Да ладно :-))
Просто автор не знает, что если есть НД, то курсор будет всегда находится на какой-либо записи. Нет НД - нет курсора.
Визуально можно пошаманить и скрыть выделение SelectedRows, но не более.
TDBGrid (2008-01-08 01:34:00) [39]Привязка по первичному ключу одной таблицы и какому-то полю другой таблицы. Через свойства MasterSours - указывает имя связываемой таблицы (TDateSourse с которым связана таблица) и MasterFields в редакторе которого указывается связь первичного ключа одной таблицы и поля другой.
При запуске привязка не активна, пока не щёлкнуть по какой-то строке, а вот как это выделение потом убрать, чтобы опять просмотреть все записи в таблице, они же пропадают, так как выбираются только те, которые совпадают по заданной привязке (условию).
Германн (2008-01-08 01:28:00) [40]
> А мне надо, чтобы она вообще не была выделена и привязка
> с другой таблицей исчезла, как её нет, до того, как щёлкнуть
> по одной из строк, при запуске программы, нет никакой привязки,
> значит как-то это можно сделать...
А что это за "привязка", которой нет" при старте программы и которая появляется после щелчка?