Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
1

Событие по нажатию на строку грида

25.05.2015, 13:59. Показов 2396. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, Снова я со своими тараканами С++ я не так часто жалую, но вот приспичило ну так вот.
Есть DBgridEh соответственно в него из таблицы загружаются данные через сурсы сеты ну и т.п.

Мне нужно чтобы когда уже всё загружено есть строки с разными названиями как сделать событие дабл клик или по нажатию кнопки так чтобы (в строке по которой щёлкают или на которой стоит курсор в гриде выбрана например строка 2) то данные в ячейке или строе брались от туда после чего открывалась форма в которой тоже есть грид который использует данные той ячейки по которой произошло событие О_О прошу задавайте уточняющие вопросы так как я вижу что сам немного каряво вопрос задал. +))

Вкратце.
1) Грид разные данные в нём.
2) Событие двойной щелчок или Кнопка по строке грида.
3) По событию должно открываться форма в которой есть грид и который использует данные той строки грида по которой было произведено событие.

Пример:есть две строки молоко и хлеб
1) (Молоко) (23 рубля 40 копеек) (город) (москва)
2) (Хлеб) (13 рубля 77 копеек) (посёлок) (забугоко)
Если щелкнули по строке
(Молоко) (23 рубля 40 копеек) (город) (москва)
то должна открыться форма с грид в которм только молоко с ценой выше>23,40
Не знаю как это написать прошу у вас помощи.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2015, 13:59
Ответы с готовыми решениями:

Закрашивание ячеек грида по нажатию кнопки
Здравствуйте. Мне необходимо закрасить ячейки, в зависимости от значений в них( учитываются только...

DBGrid. Какое событие срабатывает при повторном нажатии на ячейку грида
Привет всем! Возник вопрос по работе с DBGrid'ом: Не могу понять, какое событие срабатывает при...

Разбить строку на слова по нажатию первой кнопки, отсортировать список слов по нажатию второй
Разбить строку, введённую в первую ячейку первого столбца активного листа, на слова, и вывести их в...

Активация режима редактирования ячейки грида по нажатию "Enter"
Добрый вечер. Ситуация такая: работаю с гридом, модель выделения - поячеечная. Данные в ячейках...

10
Эксперт по математике/физикеЭксперт С++
2046 / 1364 / 394
Регистрация: 16.05.2013
Сообщений: 3,501
Записей в блоге: 6
25.05.2015, 15:24 2
Цитата Сообщение от StalkerIQ Посмотреть сообщение
прошу задавайте уточняющие вопросы так как я вижу что сам немного каряво вопрос задал
Что верно то верно. В С++ нет таблиц и событий. Каким фреймворком пользуетесь?
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
26.05.2015, 06:27  [ТС] 3
Оу дурная моя голова похоже я должен был написать "С builder"

Добавлено через 12 минут
Ну что же теперь тут буду ждать я за эти сутки таки не понял в сторону чего мне надо копать понимаю что событие должно быть связано с Row и Cell но как из этой ROW забирать и использовать данные которые на момент события внутри ~_~
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
26.05.2015, 08:29  [ТС] 5
Это понятно, а как сделать чтобы событие которые бы брало данные из строки в гриде и вставляло в запрос.
0
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
26.05.2015, 08:35 6
C++
1
2
3
4
5
6
7
void __fastcall TForm1::grid1SelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
//   grid1->Options << goRowSelect ;
   CanSelect = true;
   Edit1->Text = grid1->Rows[ARow]->CommaText ;
}
вот так в эдит1 попадает вся строка из таблицы (ячейки разделены запятой). Но можно ведь взять текст из выбранной ячейки (ACol в параметрах).
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
26.05.2015, 08:52  [ТС] 7
А каков аналог для DBGridEh?
Взять другой грид нет возможности.
0
Модератор
9246 / 6027 / 2376
Регистрация: 21.01.2014
Сообщений: 25,771
Записей в блоге: 3
26.05.2015, 09:05 8
StalkerIQ, ну дык у тебя же база данных? Тогда в чем проблема? В событии DBGrid1CellClick получай значения отбора (в примере ты привел "Молоко" и цену), записывай их в переменные, которые объявлены в секции public класса Формы1. Переходи на Форму2, делай запрос согласно уже полученным критериям отбора и выводи результат запроса в Грид.

Добавлено через 45 секунд
Цитата Сообщение от StalkerIQ Посмотреть сообщение
А каков аналог для DBGridEh
Стандартный DBGrid
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
26.05.2015, 09:42  [ТС] 9
Да базы данных. Я не знаю как это написать значение как выцепить? Они в датасете или где Оо
0
Модератор
9246 / 6027 / 2376
Регистрация: 21.01.2014
Сообщений: 25,771
Записей в блоге: 3
26.05.2015, 09:56 10
Цитата Сообщение от StalkerIQ Посмотреть сообщение
значение как выцепить?
Очень просто
C++
1
2
3
4
5
void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)
{
  int a = ADOTable1->FieldByName("ID")->Value;
  String b = ADOTable1->FieldByName("Question")->Value;
}
Чтобы подсказать предметно - надо видеть твою БД...
0
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
26.05.2015, 11:38  [ТС] 11
А можно в место названий (ID) FieldByName("ID") вставить переменную которая бы принемала значение названия активного поля\строки?

Добавлено через 7 минут
Мне нужно что бы например упращенно в Edit он выдовал значение из определённой строки, на которую я кликаю мышкой.

Добавлено через 53 секунды
А в этом случае будет выдавать только то поле которое я обозначу за ранние.

Добавлено через 28 минут
DBGridEh1->Fields[0]->AsString выдаёт значение первого поля в строке соответственно я беру поле номер [0] с наименованием и поле номер [1] с ценой и подставляю в запрос.
Было всё очень просто.
0
26.05.2015, 11:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2015, 11:38
Помогаю со студенческими работами здесь

Есть два грида, отображать во втором строку аналогичную первому
Вообщем, на 1 гриде есть фамилии, на втором нужно отображать допустим оценки... как сделать так...

Событие по нажатию
Доброго времени суток. Подскажите зеленому: у меня есть ссылка якорь. Она направляет на другую...

Событие по нажатию клавиши
Вопрос чайника Пример: Имеется элемент textbox, куда вводится пароль. А так же есть button...

Событие по нажатию на кнопку
У меня есть поле input . как сделать чтобы каждый раз как я ввел какую-нибудь буквы в него...

Событие по нажатию клавиши
Здравствуйте. Помогите разобраться как сделать, чтобы при нажатии клавиши ESC выдавало сообщение....

Событие по нажатию на кнопку
На странице есть кнопка. Нужно, чтобы по нажатию на неё выводилось сообщение. Вот мой код....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru