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

Вниз

Редактирование в DBGrid   Найти похожие ветки 

 
Igor_thief   (2005-01-30 12:38) [0]

Как в DBGrid сделать так, чтобы можно было редактировать только одно поле, а все остальные нет. Я например сделал это таким образом:
procedure TfrmMain.DBGCalculationDrawDataCell(Sender: TObject;
 const Rect: TRect; Field: TField; State: TGridDrawState);
begin
 with DBGCalculation.Canvas do
   begin
     ...
         if Field.Name = DM.tCalculationTCount.Name then
           DBGCalculation.Options := DBGCalculation.Options + [dgEditing]
         else
           DBGCalculation.Options := DBGCalculation.Options - [dgEditing];
       end; // if
     ...
   end; // with
 DBGCalculation.DefaultDrawDataCell(Rect, Field, State);
end;
У кого есть другие (!!! но более оптимальные) способы решения, поделитесь?


 
P.N.P. ©   (2005-01-30 12:41) [1]

DBGrid.Columns[x].ReadOnly чем не устраивает?


 
Anatoly Podgoretsky ©   (2005-01-30 12:45) [2]

P.N.P. ©   (30.01.05 12:41) [1]
Ну там код писать не надо :-)


 
Igor_thief   (2005-01-30 16:32) [3]

P.N.P. ©   (30.01.05 12:41) [1]
Точно!!! Я провтыкал! Спасибо! Я просто простудился. Я правда никогда не использовал Columns. Работал всегда с полями на прямую.

Anatoly Podgoretsky ©   (30.01.05 12:45) [2]
:о)

З.Ы.: А мой способ вообще толком не работает. Hoops!


 
Хруст ©   (2005-02-01 16:28) [4]

двоиной клик на TTable и иже с ним
Add All Fields
и в свойствах выставляешь
ReadOnly -> True(False)


 
Johnmen ©   (2005-02-01 18:27) [5]

>Хруст ©   (01.02.05 16:28) [4]

Не надо путать коллекции TFields и TDBGridColumns.


 
ЮЮ ©   (2005-02-02 04:06) [6]

>З.Ы.: А мой способ вообще толком не работает. Hoops!

Потому что место этому коду не в OnDrawDataCell, а в OnColEnter


 
Igor_thief   (2005-02-02 11:49) [7]

Хруст ©   (01.02.05 16:28) [4]
Тогда эти поля нельзя будет редактировать не только через ДБГрид но и программно тоже.
Колумнс подходит для моей цели лучше. Хотя я привык работать напрямую с TFields, не создавая колонок в DBGrid. Ну ладно, теперь прийдется создать колонки и работать с ними. Хотя это, наверное, даже удобнее.
Всем спасибо!


 
Соловьев ©   (2005-02-02 11:51) [8]


> но и программно тоже.

а кто тебе запретил использовать SQL?


 
Igor_thief   (2005-02-02 11:58) [9]

Соловьев ©   (02.02.05 11:51) [8]
Дык я Table юзаю а не Query!


 
Соловьев ©   (2005-02-02 12:00) [10]


> Дык я Table юзаю а не Query!

Дык. юзай TQuery и будешь несказанно рад.



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

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

Наверх




Память: 0.49 MB
Время: 0.034 c
6-1104047901
mariya_mezenceva
2004-12-26 10:58
2005.03.06
IdPOP3 (host)


1-1108584943
TimOnik
2005-02-16 23:15
2005.03.06
Проблема со Stringgrid ом


4-1102506627
Chery
2004-12-08 14:50
2005.03.06
Как остановить (запустить) службу?


1-1108984279
X-Disa
2005-02-21 14:11
2005.03.06
Mouse Wheel


1-1108558742
Gost
2005-02-16 15:59
2005.03.06
Как засунуть номер месяца в String из DateTimePicker?