![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Редактирование в DBGrid
Igor_thief © (2005-01-30 12:38:00)Как в 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;
У кого есть другие (!!! но более оптимальные) способы решения, поделитесь?
Соловьев (2005-02-02 12:00:00) [1]
> Дык я Table юзаю а не Query!
Дык. юзай TQuery и будешь несказанно рад.
Igor_thief (2005-02-02 11:58:00) [2]Соловьев © (02.02.05 11:51) [8]
Дык я Table юзаю а не Query!
Соловьев (2005-02-02 11:51:00) [3]
> но и программно тоже.
а кто тебе запретил использовать SQL?
Igor_thief (2005-02-02 11:49:00) [4]Хруст © (01.02.05 16:28) [4]
Тогда эти поля нельзя будет редактировать не только через ДБГрид но и программно тоже.
Колумнс подходит для моей цели лучше. Хотя я привык работать напрямую с TFields, не создавая колонок в DBGrid. Ну ладно, теперь прийдется создать колонки и работать с ними. Хотя это, наверное, даже удобнее.
Всем спасибо!
ЮЮ (2005-02-02 04:06:00) [5]>З.Ы.: А мой способ вообще толком не работает. Hoops!
Потому что место этому коду не в OnDrawDataCell, а в OnColEnter
Johnmen (2005-02-01 18:27:00) [6]>Хруст © (01.02.05 16:28) [4]
Не надо путать коллекции TFields и TDBGridColumns.
Хруст (2005-02-01 16:28:00) [7]двоиной клик на TTable и иже с ним
Add All Fields
и в свойствах выставляешь
ReadOnly -> True(False)
Igor_thief (2005-01-30 16:32:00) [8]P.N.P. © (30.01.05 12:41) [1]
Точно!!! Я провтыкал! Спасибо! Я просто простудился. Я правда никогда не использовал Columns. Работал всегда с полями на прямую.
Anatoly Podgoretsky © (30.01.05 12:45) [2]
:о)
З.Ы.: А мой способ вообще толком не работает. Hoops!
Anatoly Podgoretsky (2005-01-30 12:45:00) [9]P.N.P. © (30.01.05 12:41) [1]
Ну там код писать не надо :-)
P.N.P. (2005-01-30 12:41:00) [10]DBGrid.Columns[x].ReadOnly чем не устраивает?