Главная страница
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.044 c
3-1107286457
3APA3A
2005-02-01 22:34
2005.03.06
Узнать версию FB с клиента...


1-1108958278
Dido
2005-02-21 06:57
2005.03.06
Excel


3-1107522422
Georji
2005-02-04 16:07
2005.03.06
Вопрос по кодировке


14-1108289987
Луарвик
2005-02-13 13:19
2005.03.06
MySQL


4-1106743809
Sicilla
2005-01-26 15:50
2005.03.06
Fat компакт-диска