Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OnClick = Cheked в чекбоксе!??


-=snoop=- ©   (2005-07-19 10:53:00) 

привет всем...вопрос вот какой, на форме чекбоксы привязаны к полям БД, как отключить обработку ОнКлик которая срабатывает ,если соответствующее поле = .т.?


Desdechado   (2005-07-19 14:08:00) [1]

а зачем сразу при клике в БД писать?
сначала вноси данные (в нескольких строках), потом жми сохранить - просто и поонятно, и никаких заковык с OnClick


evvcom   (2005-07-19 14:05:00) [2]


> -=snoop=- ©   (19.07.05 12:32) [10]
> 2evvcom , нет , так нельзя, ибо на OnClick у меня прописан

Вот любители динамических тормозов и жесткой привязки к каталогам! А если у меня на машине нет диска E: ? C дуру-то можно и не такое прописать.


msguns   (2005-07-19 13:56:00) [3]

А флажок выставлять не пробовал ?


ЮЮ   (2005-07-19 12:46:00) [4]

Сорри, воспринял
>т.о. он будет у меня отробатываться 2-а раза=это как минимум)))
как ответ на [10]


ЮЮ   (2005-07-19 12:45:00) [5]

>т.о. он будет у меня отробатываться 2-а раза=это как минимум)))

form2.CheckBox5.OnClick := nil
...
form2.CheckBox5.OnClick := Form2.CheckBox5Click;

это не вызо, а назначение обработчика. После первого сколько не кликай теперь по CheckBox5 обработчик CheckBox5Click вызываться не будет, пока не сделаешь последнее


-=snoop=-   (2005-07-19 12:32:00) [6]

2evvcom , нет , так нельзя, ибо на OnClick у меня прописан

//table update
 gADOq.SQL.Clear();
 gADOq.SQL.Add('update E:\work\!userbst\grupp.dbf set Arm_00='+lcEndVl+' where trim(name) ='+''''+lcParam1+''''+' and trim(predpr) ='+''''+lcParam2+'''');
 gADOq.ExecSQL() ;

т.о. он будет у меня отробатываться 2-а раза=это как минимум)))

2Stakan
попробую
но я уже всю форму перточил под ComboBox(((


Stakan   (2005-07-19 12:27:00) [7]

-=snoop=- ©   (19.07.05 12:10) [5]
Можно попробовать так
form2.CheckBox5.OnClick := nil
try
 form2.CheckBox5.Checked := lBaseGRD.DataSource.DataSet.FieldByName('Arm_05').AsBoolean;
finally
 form2.CheckBox5.OnClick := Form2.CheckBox5Click;
end;


Anatoly Podgoretsky   (2005-07-19 12:25:00) [8]

OnClick это переменная со всеми вытекающими последствиями.


evvcom   (2005-07-19 12:21:00) [9]

Ну и что? Сработал онКлик и что дальше? Было у меня такое, не помню на DBCheckBox или еще чем, и что? Пусть отрабатывает, что не нравится?
lBaseGRD.DataSource.DataSet
Судя по всему lBaseGRD - это не Sender, поэтому тогда можно сразу к DataSet-у как MyDataSet и обращаться. Короче будет.


-=snoop=-   (2005-07-19 12:10:00) [10]

Ёп! вы как юристы))))
в OnCellClick

form2.CheckBox5.Checked := lBaseGRD.DataSource.DataSet.FieldByName('Arm_05').AsBoolean;


-=snoop=-   (2005-07-19 12:10:00) [11]

кому интересно, для облегчения тестирования могу скинуть dbf ник на мыло


Johnmen   (2005-07-19 12:07:00) [12]

>Во время перемещения по Гриду(в событии OnCellClick)

Так перемещение или клик ? Ты уж определись.

>меняются и значения в ЧекБоксах

Кем меняются ?

>если в поле стоит тру, то delphi воспринимает это как событие OnClick...

"стоит" это одно, "событие" это другое. Короче, мутно что-то...


-=snoop=-   (2005-07-19 11:36:00) [13]

делаю прогу по раздаче прав доступа
есть таб. структура которой такова
________________________________________________________________
название гр.|код предпр.|код арма1|код арма2|код арма3|код армаN
----------------------------------------------------------------
  char     |   char    |  char   | boolean | boolean | boolean
________________________________________________________________

на форме лежат чекбоксы, каждый из которого соответствует своему полю "код арма3".Понятно, что true=(.t.) =доступ разрешен...

Во время перемещения по Гриду(в событии OnCellClick) меняются и значения в ЧекБоксах соответственно тем , что записаны в таблице.
*
В событии CheckBox1Click каждого чекбокса описано обновление таблици с правами...
*
суть трабла такова, что если в поле стоит тру, то delphi воспринимает это как событие OnClick...


evvcom   (2005-07-19 11:17:00) [14]

Не понятно, что надо? Что такое "поле = .т.?" True? Ну так в обработчике и проверяй это поле.


-=snoop=-   (2005-07-19 11:12:00) [15]

не переходить же на комбобоксы!)))
не ужели никто не решал подобной задачи!


Наверх

Титульная страница Поиск, карта сайта Написать письмо