powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh 3.6 + checkbox сохранение в базе
12 сообщений из 37, страница 2 из 2
DBGridEh 3.6 + checkbox сохранение в базе
    #39805240
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2А зачем отметки для юзерских манипуляций в принципе сохранять в базе?
Намного проще потом манипулировать данными с помощью обычных запросов.
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805242
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanВасилий 2А зачем отметки для юзерских манипуляций в принципе сохранять в базе?
Вариантов миллион. Например, что заявка выполнена/закрыта.

ЗЫ. Странный вопрос.
Вопрос странный, да. Но, как раз "заявка выполнена/закрыта" надо делать по другому. Через окошко с вопросом, "А вы точно уверены?" )))
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805246
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёНепонятна проблема.
Почему нельзя вызвать post сразу после изменения конкретного поля, раз уж так хочется? В датасете/датасорце есть соответствующие эвенты, чтобы ловить нужный момент. Ну, добавить защиту от дурака, чтобы не чекали записи, логически непригодные для сохранения.
Я так и хотел, когда понял, что само оно не работает. Просто не сразу нашел подходящий эвент.
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805264
Devillio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делал так. У колонки с Checkbox есть OnUpdateData (Правда, у меня Ehlib 6.2)
В этом обработчике вручную поменяйте (через TpFIBQuery) значение, и значение Checkbox'a, и ставите Handled := True;
Текст, конечно, кривоват, но стабильно работает уже лет 12:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
procedure TframeMonitor.DBGResPricesColumns10UpdateData(Sender: TObject;
  var Text: string; var Value: Variant; var UseText, Handled: Boolean);
begin
  Handled := True;
  if DBGResPrices.DataSource.DataSet.State = dsEdit then
  begin
    DBGResPrices.DataSource.DataSet.FieldByName('USEINCALC').AsInteger := (1-DBGResPrices.DataSource.DataSet.FieldByName('USEINCALC').AsInteger);
    try
      DM.TRNShort.StartTransaction;
      with DM.RunFIBSQL do
      begin
        Close;
        SQL.Text := 'update TPrices set '+(Sender as TDBGridColumnEh).Grid.SelectedField.FieldName+'=:PARAM, IDAUTH=:IDAUTH, IDAUTHLOG=:IDAUTHLOG, LASTEDITDATE=current_timestamp where ID=:ID';
        ParamByName('ID').AsInteger := (Sender as TDBGridColumnEh).Grid.DataSource.DataSet.FieldByName('ID').AsInteger;
        ParamByName('IDAUTH').AsInteger := GlobalUserID;
        ParamByName('IDAUTHLOG').AsInteger := GlobalLogID;
        ParamByName('PARAM').AsInteger := (Sender as TDBGridColumnEh).Grid.DataSource.DataSet.FieldByName((Sender as TDBGridColumnEh).Grid.SelectedField.FieldName).AsInteger;
        ExecQuery;
        Close;
      end;
      DM.TRNShort.Commit;
    except
      DM.TRNShort.Rollback;
    end;
    DBGResPrices.DataSource.DataSet.Post;
  end;
end;
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805273
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И никто не узнает что ж там за ошибка была, если что...
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805375
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgikwadmanпропущено...

Вариантов миллион. Например, что заявка выполнена/закрыта.

ЗЫ. Странный вопрос.
Вопрос странный, да. Но, как раз "заявка выполнена/закрыта" надо делать по другому. Через окошко с вопросом, "А вы точно уверены?" )))Теперь представь условия да/нет в виде битовой маски. Окошки для каждого бита выводить? А если у каждого условия больще двух вариантов? Юзверь повесится.
Вот короткий собачий примерУсловиеЗначениеПорода BIS 09.09.1918-Заявка до 01.01.2019+Заявка до 01.06.2019+Есть гарантийное письмо+Оплачено полностью+

Вот тебе маска 1E А от этого бабло зависит
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805379
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator, какие то две не связные ситуации.
В этом случае нужно еще две кнопки Сохранить и Отменить. Этот пример и есть вариант этого окошка.
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805388
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanВасилий 2А зачем отметки для юзерских манипуляций в принципе сохранять в базе?
Вариантов миллион. Например, что заявка выполнена/закрыта.

ЗЫ. Странный вопрос.
Странный, потому что ты его не так понял. У ТС отметки типа "отправить на печать". Им в базе делать нечего. Имхо.
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805393
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2wadmanпропущено...

Вариантов миллион. Например, что заявка выполнена/закрыта.

ЗЫ. Странный вопрос.
Странный, потому что ты его не так понял. У ТС отметки типа "отправить на печать". Им в базе делать нечего. Имхо.

Не совсем так. У ТС отметки типа "помеченная запись". А что с ней делать дальше, это дело десятое.
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805435
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Странный, потому что ты его не так понял. У ТС отметки типа "отправить на печать". Им в базе делать нечего. Имхо.
Интересная версия...
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805578
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgikGator, какие то две не связные ситуации.
В этом случае нужно еще две кнопки Сохранить и Отменить. Этот пример и есть вариант этого окошка. Это только твоё мнение. А опыт подсказывает, что сегодня это две не связные ситуации , а завтра их свяжут вместе и ещё 3 добавят. :)
...
Рейтинг: 0 / 0
DBGridEh 3.6 + checkbox сохранение в базе
    #39805581
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, ну что ты волнуешься, приятель, добавь "отправить на телефон" или "отправить в шредер". Всё равно из базы чистить не след.

Вот потом, раз в полгода можно базу одним джобом почистить по условию. Но это - другая песня.
_________
Здоровья, кстати. И Солнца, радости, природы разной летом и потом...
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh 3.6 + checkbox сохранение в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]