Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2008, 01:07
Kirill1987 Kirill1987 вне форума
Прохожий
 
Регистрация: 10.07.2008
Сообщения: 10
Репутация: 10
По умолчанию Вопросы по dbgrid

1) 4 столбца сетки заполняются программой, и надо чтобы пользователь их не мог редактировать, а 2 столбца заполняет пользователь - тоесть они должны быть активны, как такое организовать использую ehgrid
2) Как сделать чтобы при щелчке на поле выдавался список значений которые берутся из другой таблицы, как в комбобоксе
3) Как подсвечивать разными цветами строки, разделять их надо по логическому столбцу, допустим если в поле галочка - красная строка, нет ничего - синяя
Ответить с цитированием
  #2  
Старый 17.07.2008, 08:38
Аватар для XIO
XIO XIO вне форума
Новичок
 
Регистрация: 06.12.2007
Сообщения: 77
Репутация: 32
По умолчанию

1) 2 раза кликаете по гриду, открываете список столбцов, выделяете первый столбец, в object inspector свойство ReadOnly ставим True...
Такое проделываете со всеми столбцами которые должны быть недоступны для редактирования.
2) для этого, необходимо почитать статьи про вычисляемые поля, а так же про поля типа LookUp. При правильном подходе, уверен, у Вас все получится.
3) Выделяете Грид. На закладке Events находите событие OnGetCellParams, и в теле этого события пишите примерно такой текст:
Код:
If Table1.FieldByName('Check').Value = True then 
   Background := clRed
else
   Background := clBlue;
__________________
"Люди никогда не видят то, существование чего им кажется невозможным." ©Терри Пратчетт
Ответить с цитированием
  #3  
Старый 17.07.2008, 13:13
YERokez YERokez вне форума
Прохожий
 
Регистрация: 27.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Вопрос 1. У колонок которые не редактируются поставь ReadOnly=true,
а у редактируемых соответссссно ReadOnly=false.

Вопрос 2.

Создай и заполни StringList из другой таблицы.
Затем направь полученный StringList в PickList.

Код:
Self.DBGridEh1.Columns[3].PickList:=t_StrList;

Вопрос 3.
См. образец

Код:
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
    IF ля-ля-ля then
    Begin
        Self.DBGridEh1.Canvas.Brush.Color:=clRed;
        Self.DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
    End;
end;

ЗЫ. В 1-ом и во 2-м вопросе сам грид должен быть редактируем. Обрати внимание на Options-dgEdited, Options-dgRowSelect и ReadOnly.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter