![]() |
|
![]() ![]() ![]() |
|
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
Ни как не могу решить проблемку:
Как получить доступ к значению в ячейке DBGrid'а... Т.е. имеется номер столбца/строки DBGrid'а, (х,у) а как поиметь данные типа cells(x,y) именно из DBGrid'а а не из DataSource? |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 1 Всего: 60 |
никак. Grid данные только отображает, а не владеет ими. Никак кроме как через соответствующий DataSet ты до данных не доберешься. |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
--- Grid данные только отображает....
Ок. Но что делать если очень надо )) У меня зреет такой вариант: при отрисовке ячейки запихивать данные в массив (благо нужна не вся таблица, а только одно поле) и потом обращаться к этому массиву вроде как к ДБГриду. Как на это смотрите? |
|||
|
||||
Savek |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
Зачем так извращаться? чем не устраивает DataSet?
|
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
DBGridEh.SelectedField.......
Добавлено @ 08:25 про DBGrid не помню, есть ли такое св-во... Это сообщение отредактировал(а) Dynamic - 6.5.2006, 08:28 -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 1 Всего: 60 |
не очень понятен смысл такого алгоритма. Какая тебе разница откуда ты для массива будешь брать значения из грида или DataSet ? |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
можно конечно гланды удалять через задницу и автогеном.... но не лучше ли как это принято... Смысл брать что-то прямо из DBGrid до меня плохо доходит... чем не устраивают корреспондентные поля...
PS. Новичкам бы вообще запретил пользоваться DBGrid... действует развращающе на неокрепшие знания... Совет будет - забыть вообще о существовании DBGrid на пол года, стереть его и не использовать, через пол года работы с базами данных прийдёт понимание как это всё работает и такие вопросы отпадут сами собой -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
А что такое корреспондентные поля? Где можно о них почитать? |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
Поля БД, которые отображаются в гриде.
Vit имел ввиду, что программно работать с данными надо через набор данных (DataSet, Query), а не через грид. Грид - для конечного пользователя программы, а не для программиста. -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
Ну понятно, естественно я через DataSet, Query работаю, добавление удаление и т.п.
Дело в другом. Хорошо поставлю вопрос иначе. Пользователь выбирает в дбГриде запись (записи), мышкой водит по другим записям, а в мемо в это время выводится инфа на основании выбраной записи (или записей) и той записи над которой висит мышка. Так вот, каким образом получить данные над которыми висит мышка (не обязательно из самого дбГрида, но обязательно те данные над которой мышь все еще висит)?? |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
что значит
при выборе строки в DBGrid мышкой или с клавиатуры или скроллом изменяется текущая запись НД, с нее и читай данные. или или еще перефразируй вопрос, потому как непонятно, чего ты хочешь.. -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
Мышкой водит, ну т.е. пользователь просто мышку перемещает, не выбирая запись. В Мемо же должна ложиться инфа по на основании уже выбранных записей и той над которой висит мышка. Что то на подобе OnHint. Только этот ОнХинт, как бы сказать, динамический и зависит не только от того над чем мышка находится но и какие записи уже выбраны. и проявляется он не как хинт (желтенькое поле) а как текст в Мемо.
Да, очень похоже на Хинт, только без задержки. К выбранным записям обратиться не проблема, а вот как обратится к записи которая не выделена, но над которой находится указатель (мышка по нашему)? |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
FFire, мда понимания конечно у вас отсутствует напрочь
![]() -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
Ну не в хинте, но типа того.
|
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
А где?
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
В мемо, на форме.
|
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
это что же за издевательство вы хотите делать?
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
OnMouseMove + ItemAtPos() (не помню, что там у грида для этого) тебе в руки....
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Алекс, если знаешь, помоги человеку... может действительно надо... хотя задача прямо сказать не из стандартных и может не решаться -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
FFire |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
К сожалению, метода ItemAtPos, у дбГрида нет. |
|||
|
||||
bas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
Даже очень нестандартная. 1.Надо знать положение курсора на экране. 2.Узнать находиться ли курсор над гридом. 3.Вычислить поле над которым находимся. 4.Вычислить номер записи и вот тут надо повозиться, так как надо узнать какие записи на экране (скажем 10 из 2000). Можно при периресовки грида загонять все данные(и координаты тоже) в массив и оттуда считывать. |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
показываю направление:
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
Alex |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
PS: Кто скажет из какой статьи в DRKB сделан этот пример получит + (80% ответов на все ваши вопросы уже лежат у вас на компе, нужно просто поискать...) -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||||
|
|||||||
Dynamic |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 2 Всего: 15 |
а можно мне?
![]() ![]() ![]() Добавлено @ 12:11 а вот еще в тему: "Как вывести Hint для ячейки DBGrid" ЗЫ. Код не даю, ибо
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |