Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2009, 01:08   #1
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию Диффиринцирование строк в DBGrid - ?

В таблице есть ячейки, отмеченные красным цветом, можно ли както сделать чтобы при нажатии кнопки все остальные строки отсеивались, а оставались только красные?
Evgenii вне форума Ответить с цитированием
Старый 21.07.2009, 01:15   #2
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Ты каким условием красишь?
Добавь в базу столбец который будет иницилизировать поле 0 - пусто 1 - красный и поним отсеивай.
Evgeniy26 вне форума Ответить с цитированием
Старый 21.07.2009, 01:51   #3
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

Да, вариант неплохой. Спасибо
Evgenii вне форума Ответить с цитированием
Старый 21.07.2009, 01:56   #4
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Глянь пост #5 там пример с массивом. Если записей помеченых не много, можно массив использовать. И динамически формировать запрос.
Evgeniy26 вне форума Ответить с цитированием
Старый 21.07.2009, 05:52   #5
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

что то у меня проблема возникает с присвоением единицы в случае если поле красное :
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState)
begin
    if Column.FieldName = '№1' then
    if (Column.Field.Asstring > '0') then //если > 0 то выделяется в красный цвет 
    adotable1.FieldByName('color').value := 1 ;
end
Возникает ошибка: dataset not in edit or insert mode
Какую ошибку я допустил в коде?

Последний раз редактировалось Evgenii; 21.07.2009 в 06:05.
Evgenii вне форума Ответить с цитированием
Старый 21.07.2009, 08:57   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

так Вам же в ошибке английским по белому ясно написано, что таблица не находится в режиме редактирования или ввода новых данных!

Код:
    if (Column.Field.Asstring > '0') then //если > 0 то выделяется в красный цвет 
begin
    adotable1.Edit; // перевели таблицу в режим редактирования
    adotable1.FieldByName('color').value := 1 ;
    adotable1.Post; // сохранили изменения в таблице
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование нескольких строк из dbgrida в dbgrid eviL_exP БД в Delphi 2 11.06.2009 12:37
Перекрашивание строк DBGrid по условию ГОСЕАН БД в Delphi 4 11.05.2009 23:19
Нумерация строк в DBGrid artemavd БД в Delphi 8 15.04.2009 20:31
Количество строк DBGrid AndreyF Общие вопросы Delphi 4 02.12.2008 21:32