![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]не переходить же на комбобоксы!)))
не ужели никто не решал подобной задачи!