|
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
|
||||||
[C++ builder XE] DBGrid. Нажать на ячейку ЛКМ.14.04.2012, 13:31. Показов 2547. Ответов 8
Метки нет (Все метки)
Здравствуйте!
Возможно тема заезженная, но не чего путевого не нашел! Подскажите пожалуйста каким образом можно нажать(кликнуть) ЛКМ на отдельную ячейку DBGrid, например на ячейку [0][1]. Должно получиться что на подобии этого
0
|
||||||
| 14.04.2012, 13:31 | |
|
Ответы с готовыми решениями:
8
[C++ Builder] TRichEdit. Нажать ЛКМ на строку.
[C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid |
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
|
| 14.04.2012, 15:09 | |
|
Повесить событие на отдельную ячейку будет проблематично, но если я вас правильно понял, то используйте OnCellClick.
1
|
|
|
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
|
||||||
| 14.04.2012, 15:33 [ТС] | ||||||
|
Сделал так сказать в лоб. Так как на мою реализацию не кто смотрть не будет! Данные данной таблицы не под каким предлогам изменяться не будут!
Поместил на форму Label, в него записываю значание данной ячейки(в моем случаи поля(строки талицы)) При клике на определенную ячейку, в Label записывается ее соджержимое и уже условием проверяю и делаю то что мне нужно. Как пример
0
|
||||||
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
|
| 14.04.2012, 15:42 | |
|
Возможно, действия могут как-нибудь от ID или номера строки зависят и можно будет оптимизировать. Но трудно сказать, без исходной задачи. Могу лишь предположить, что в зависимости выбранного от описания в таблице N, программа должна открыть таблицу A, B или C, с определенной выборкой. В этом случае могу посоветовать использовать enum (или его аналог в зависимости от типа бд) в таблице и уже в зависимости от него - отображать необходимую таблицу. Но если это курсовой проект, то подобную теорию желательно откладывать на будущее. Если это проект по базам данных, то на код действительно редко обращают внимание.
1
|
|
|
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
|
||
| 14.04.2012, 16:02 [ТС] | ||
|
Две таблицы 1. Название кафедры(3 кафедры) 2. Список преподвателей(соответсвенно каждый преподователь относится к одной из кафедр) В зависимости от выбранной кафедры во второй DBGGrid (с помощью запроса) выводятся преподователи выбранной кафедры! Впринципи предложенный мною выше код, мне подходит в данной ситуации и меня уверили что не чего меняться не будет! Но вдруг через год другой название кафедры поменяется и все happy end! Или какой то user решит просто "поиграться" с программой, с помощью зароса изменит значения таблицы!
0
|
||
|
|
|
| 14.04.2012, 16:04 | |
|
Вопрос:
Есть ли у TDBGrid события OnMouseDown, OnMouseUp и OnMouseMove ? Ответ: Они есть, но не объявлены published. Вы можете создать наследника TDBGrid и сделать их published.
1
|
|
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
|
| 14.04.2012, 16:17 | |
|
Не помню как называется данный принцип, но думаю, что название для вас роли не играет. Соль в том, что у вас есть таблица "кафедры", где есть поля "ID" (если речь идет о кафедрах, то безнакового целового на 10 столетий хватит, но обязательно primary), "название" (текстовый, уникальный) и "описание" (текстовый, название у нас какое-нибудь ВКХУТЛУ, а тут уже конкретное описание, либо расшифровка, в общем, размер по вкусу). И есть таблица преподаватели, где указаны все необходимые вам данные о преподавательском составе + поле CathedraID, которое имеет тот же тип, что и ID в таблице "каферды", рекомедую создать внешний ключ на эту таблицу, установив каскадный тип при обновлении и обнуление(set null) при удалении (если возможности БД позволяют сделать это). В этом случае, если ID кафедры изменится, то в таблице "предподаватели", они просто изменят свой ключ, а при удалении кафедры, просто поле останется с пустым значением.
А в ПО все просто. При выборе кафедры получаем ее ID и делаем select таблицы "предподаватели", где CathedraID совпадает с полученным. В этом случае, можно будет не беспокоится за ПО, если данные той или иной кафедры изменятся.
1
|
|
|
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
|
|
| 14.04.2012, 16:22 [ТС] | |
|
DefineTrueFalse, Спасибо за совет, помог, ценю!
LK, Спасибо!
0
|
|
|
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
|
||
| 14.04.2012, 16:24 | ||
|
1
|
||
| 14.04.2012, 16:24 | |
|
Помогаю со студенческими работами здесь
9
Програмное нажатие на ячейку в DBgrid Двойная запись в ячейку DBGrid Добавить запись в выделенную ячейку DBGRID Закрасить ячейку DBGrid по нажатию на кнопку Как добавить картинку в ячейку DBGrid? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|