Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

OnClick = Cheked в чекбоксе!??   Найти похожие ветки 

 
-=snoop=- ©   (2005-07-19 10:53) [0]

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


 
-=snoop=- ©   (2005-07-19 11:12) [1]

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


 
evvcom ©   (2005-07-19 11:17) [2]

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


 
-=snoop=- ©   (2005-07-19 11:36) [3]

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

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

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


 
Johnmen ©   (2005-07-19 12:07) [4]

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

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

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

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

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

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


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

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

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


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

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


 
evvcom ©   (2005-07-19 12:21) [7]

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


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

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


 
Stakan ©   (2005-07-19 12:27) [9]

-=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;


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

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(((


 
ЮЮ ©   (2005-07-19 12:45) [11]

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

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

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


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

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


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

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


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


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

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


 
Desdechado ©   (2005-07-19 14:08) [15]

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



Страницы: 1 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
10-1101131714
Fill
2004-11-22 16:55
2005.08.28
Outlook


14-1123227895
pavel_guzhanov
2005-08-05 11:44
2005.08.28
Книги Тейскейра и Пачеко


1-1123584552
Svintus
2005-08-09 14:49
2005.08.28
Как сохранить интернет страницу?


3-1121412047
msguns
2005-07-15 11:20
2005.08.28
Запрос на объединение строк


1-1123155876
vol
2005-08-04 15:44
2005.08.28
в Memo есть scroll