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

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

DBGrid и опция dgEditing


DelphiLexx ©   (2007-04-25 17:42:00) 

Я использую TDBGridEh. При скроллировании по гриду некоторые записи у которых ID = -1
не должны редактироваться по этому я делаю так:

procedure
 TMyForm.FIBDataSetAfterScroll(DataSet: TDataSet);
const
  UnionID = -1;
begin

 if DataSet.FieldByName('ROW_ID').AsIniteger = UnionID then
    {Запрещаем редактирование записи}
    dgrDDB.Options := dgrDDB.Options - [dgEditing]
 else
    {Разрещаем редактирование записи}
   dgrDDB.Options := dgrDDB.Options + [dgEditing];
end;


Из-за этого почему очень сильно начинает тормозить скроллирование. Как можно решить данную проблему.


DelphiLexx   (2007-04-26 11:45:00) [1]


> А пост [6] благополучно не замечен, оно конечно приятней
> когда тебе выдирают гланды через ж...

BeforeEdit не подходит т.к. BeforeEdit генирится когда я пытаюсь ввести значение. Но кликнув по ячейке грида курсор появляется, а мне нужно чтобы вообще блокировалась ячейка


Плохиш   (2007-04-26 11:27:00) [2]


> DelphiLexx ©   (26.04.07 10:57) [9]

А пост [6] благополучно не замечен, оно конечно приятней когда тебе выдирают гланды через ж...


Правильный Вася   (2007-04-26 11:04:00) [3]

переучивание проктолога?


DelphiLexx   (2007-04-26 10:57:00) [4]


> if DataSet.Fields[<индекс>).AsIniteger
> это ускорит немного, если 'ROW_ID' не первый в наборе полей

Решил проблему через OnClickCell, правда еще нужно сделать как-то блокировка грида при испульзовании клавиатуры - вешать в OnKeyDown не очень хочется.


ЮЮ   (2007-04-26 10:47:00) [5]

if DataSet.Fields[ <индекс>).AsIniteger
это ускорит немного, если 'ROW_ID' не первый в наборе полей


Johnmen   (2007-04-26 09:28:00) [6]


> Ты сказать можешь из-за чего другого, или мозги будешь парить

Не могу. Я твоего кода не видел.


Sergey13   (2007-04-26 09:22:00) [7]

> [0] DelphiLexx ©   (25.04.07 17:42)

А нафига это делать через опции грида и вешать на скрол? ИМХО логичнее было бы написать запрет в BeforeEdit.


DelphiLexx   (2007-04-26 09:09:00) [8]


> Из-за другого.

Ты сказать можешь из-за чего другого, или мозги будешь парить


Johnmen   (2007-04-25 19:24:00) [9]


> Из-за чего?

Из-за другого.


DelphiLexx   (2007-04-25 18:04:00) [10]


> Не из-за этого.

Из-за чего?


Правильный Вася   (2007-04-25 17:54:00) [11]


> AsIn i teger

сам придумал?


Johnmen   (2007-04-25 17:47:00) [12]


> Из-за этого ....

Не из-за этого.


Наверх

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