Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi и базы данных
Войти
Регистрация
Восстановить пароль
 
Patrick1968
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 19
#1

Изменение значения поля - Delphi БД

17.08.2017, 14:06. Просмотров 303. Ответов 10
Метки нет (Все метки)

Добрый день. Такая тема: есть у меня датасет, прицепил к нему грид, определил поля, в одном из них установил значение свойства editor для того чтобы выбирать из комбобокса, может кто подскажет - какое событие работает в тот момент, когда я выбираю из списка этого комбобокса нужное значение и оно заносится в грид? заранее спасибо.
http://www.cyberforum.ru/delphi-database/thread863083.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2017, 14:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Изменение значения поля (Delphi БД):

Как реализовать автозаполнение поля в DbGrid в зависимости от значения другого поля
Добрый день. Не могу разобраться в автозаполнением поля в gdgride. Суть...

Автозаполнение поля грида на основе значения другого lookUp поля
с помощью ADOQuery в грид отображаю данные из 4-х аксессовских таблиц: фио,...

Получить при изменении значения поля старое и новое значения
Уважаемые форумчане! Помогите решить задачу: есть бд mysql, в ней есть поле...

Изменение ключевого поля в Firebird
Здравствуйте! Как программным способом в Delphi сделать так, чтобы в таблице не...

Добавление и изменение в таблицах без ключевого поля
Доброго времени суток. Очень прошу помочь разобраться...Возникла следующая...

10
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
17.08.2017, 15:21 #2
onchange. Но значение в грид вы не занесете. Датасет и грид лишь отображают информацию, которую вы выбрали.
0
Patrick1968
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 19
17.08.2017, 15:25  [ТС] #3
а как же сделать так, чтобы в датасет заносились определенные значения, которые зависят от выбранного значения?
0
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
17.08.2017, 15:32 #4
вы с БД работаете?

Добавлено через 5 минут
Если с БД, тогда SQL-запросами Insert, Update и потом Select.
Например вам надо при выборе значения комбобокса пишем условия в событие OnChange
1 внести изменения в какую-либо запись, тогда
SQL
1
UPDATE table1 SET FIELD='Ваше значение' WHERE 'условие'
Потом
SQL
1
SELECT * FROM table1
2 добавить запись
SQL
1
INSERT INTO table1 (поле) VALUES (значение)
и опять селект если сразу отобразить надо. Примерно так.
0
Patrick1968
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 19
17.08.2017, 15:45  [ТС] #5
да витиевато, т.е. получается, что того момента, когда происходит выбор никак не "поймать"
0
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
17.08.2017, 15:58 #6
Какой выбор? Выбор из комбобокса? Значения в комбобокс сами не попадают. Их сначала туда загружают. А вот когда их туда загружают и при каких условиях - надо искать в коде. Выбор загруженного значения происходит при изменении значения combobox1.text. А событие для этого combobox1.OnChange

Добавлено через 8 минут
Забыл добавить. Ну могут еще значения в комбобоксе быть статическими - тогда их на этапе разработки вносят в свойство items. Если вам просто нужен выбор определенных записей по какому-то значению комбобокса - то используйте оператор SQL Select
SQL
1
SELECT * FROM table1 WHERE field1 = 'значение вашего текста в комбобоксе'
0
Patrick1968
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 19
17.08.2017, 16:05  [ТС] #7
Выбор из комбобокса. А при обработке события onChange, также не получится т.к. поле text у комбо пустое (это наверное потому, что он к гриду привязан (возможно ошибаюсь!)) и в этот момент значение поля тоже пустое, значение ему присваивается вероятно позже
0
drvolodko
207 / 52 / 30
Регистрация: 23.05.2014
Сообщений: 519
17.08.2017, 16:53 #8
Цитата Сообщение от Patrick1968 Посмотреть сообщение
А при обработке события onChange, также не получится т.к. поле text у комбо пустое
При выборе значения из ниспадающего списка в комбобоксе его значение text изменится на то, которое вы выбрали и в этот момент сработает код прописанный в событии OnChange. Если таковой есть. Пример:
Delphi
1
2
3
4
5
procedure Combobox1.change(Sender: TObject);
begin
список операторов
...
end;
Цитата Сообщение от Patrick1968 Посмотреть сообщение
(это наверное потому, что он к гриду привязан
Честно говоря комбобокс не может быть привязан к гриду. Нет у него такой связки. Грид лишь отображает через датасет то, что вы попросили отобразить в базе. Т.е. Результат запроса. Сам комбобокс отображает лишь то, что в него загрузили или прописали на этапе разработки.
0
Patrick1968
0 / 0 / 1
Регистрация: 14.10.2015
Сообщений: 19
17.08.2017, 17:36  [ТС] #9
В моем случае значение почему-то не меняется, прилагаю картинку, если бы значение менялось, я бы конечно всё обработал
0
Миниатюры
Изменение значения поля  
krapotkin
3295 / 2935 / 1015
Регистрация: 14.04.2014
Сообщений: 14,253
Записей в блоге: 13
17.08.2017, 20:44 #10
потому что Text работает у комбо бокса если Style = csDropDown или csSimple
если же он csDropDownList, то нужно запрашивать itemIndex
если itemIndex<>-1 то значение = combo.items[combo.ItemIndex]
0
D1973
19.08.2017, 08:17     Изменение значения поля
  #11

Не по теме:

На мой взгляд правильнее всего работать именно так - через ItemIndex, не опираясь на свойство Text...

0
19.08.2017, 08:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2017, 08:17
Привет! Вот еще темы с ответами:

Изменение значения в БД
пишу запрос на изменение значения в столбце ISN_INVENTORY таблицы...

Проверка значения поля
При авторизации программа должна проверить должность (админ или нет) и открыть...

Замена значения поля
Есть числовое поле, я посчитал через SQL среднее значение записей в этом поле....

Замена значения поля
Уважаемые форумчане! Прошу Вас подсказать как реализовать следующую задачу:...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru