Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пометить записи в DBGrid, Кто как решал подобную проблему? 
:(
    Опции темы
draCOOLa
Дата 9.4.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Народ, кто как решал подобную проблему. Необходимо пометить определенные записи в DBGrid. Может можно как то щелкать по текущей записи и она буде принимать другой цвет, а поле в этой строке будет иметь статус "помечен". Собственно я знаю как реализовать подобную задачу на половину. Но вот каким образом сделать так что бы при нажати допустим пробелом на текущей строке менялось значение не знаю. Может вы подскажите?
PM MAIL   Вверх
Craft
Дата 9.4.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 1.3.2008

Репутация: нет
Всего: нет



Посмотри как я раньше решал. Немного не то что тебе нужно но переделать я думаю не составит проблем.
Код

void __fastcall TF_CASH::GRID_MAINDrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumnEh *Column,
      TGridDrawState State)
{
if(!F_CASH->T_CASH->FieldByName("CS_OSTAT")->IsNull)
         {
        if ((T_CASH->FieldByName("CS_OSTAT")->Value<0)&
                                (Column->FieldName=="CS_OSTAT") )
                {
                        GRID_MAIN->Canvas->Brush->Color=clSkyBlue;
                       // GRID_MAIN->Canvas->Font->Color=clWhite;
                        GRID_MAIN->Canvas->FillRect(Rect);
                        GRID_MAIN->Canvas->TextOut(Rect.Left+2,Rect.Top+2,Column->Field->Text);
                }
                if((T_CASH->FieldByName("CS_OSTAT")->Value>0) & (Column->FieldName=="CS_OSTAT") )
                        {
                        GRID_MAIN->Canvas->Brush->Color=clMoneyGreen;
                        //GRID_MAIN->Canvas->Font->Color=clWhite;
                        GRID_MAIN->Canvas->FillRect(Rect);
                        GRID_MAIN->Canvas->TextOut(Rect.Left+2,Rect.Top+2,Column->Field->Text);
                        }
          }
}

PM MAIL   Вверх
draCOOLa
Дата 9.4.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



пасиб конечно возьму на заметку, ну че та пока не очень понятно...
PM MAIL   Вверх
cra6
Дата 11.4.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 10.12.2007

Репутация: нет
Всего: 2



Собственно тебе дали код который изменяет цвет ячеек  ДБГрида при прорисовке. Если хочеш чтоб при нажатии менялся цвет и оставался таким же тебе нада менять что то в самом источнике данных - базе данных, а потом по этому признаку менять цвет (например сделать запросом значение ячейки =1,а потом все  ячейки с 1 перерисовать в красный)
PM MAIL   Вверх
draCOOLa
Дата 11.4.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата

(например сделать запросом значение ячейки =1,а потом все  ячейки с 1 перерисовать в красный) 


Вот это у меня и не получается. Если это запросом нужно делать, то придется использовать компонент query, а у меня table.
PM MAIL   Вверх
Vyacheslav
Дата 15.4.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Для того, чтобы  как то в пометить запись( не высвечивать , а только пометить )  можно использовать TBookmark


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
draCOOLa
Дата 15.4.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



пасиб
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0681 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.