Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как высветить в Гриде определенные строки? 
V
    Опции темы
Jura07
Дата 11.6.2011, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как высветить в Grid только те строки из Table, которые отвечают  условию совпадения с ComboBox.Text ????

PM MAIL   Вверх
Jura07
Дата 11.6.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 
Код

If DBGrid3.Columns[4]=ComboBox5.Text then .... :wacko 


PM MAIL   Вверх
Vas
Дата 11.6.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Отказаться от TTable и использовать TQuery - это в идеале. 
Для TTable есть свойства Filter и Filtered, дальше думаю, сам докопаешься.

Добавлено через 1 минуту и 36 секунд
Цитата(Jura07 @  11.6.2011,  19:01 Найти цитируемый пост)
If DBGrid3.Columns[4]=ComboBox5.Text then .... smile 

Так никогда не делай, грид не содержи записей, а только отображает их, так что все манипулации с данными делаются в датасете, а никак не в гриде.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Akella
Дата 11.6.2011, 22:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Слово "высветить" непонятное. Но моя телепатия подсказывает мне, что ты хочешь выделить некоторые строки другим цветом, так?
Если так, то почитай про событие OnDrawCell. Погугли на тему цветной DBGrid. Примеров масса.
PM MAIL   Вверх
Jura07
Дата 12.6.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Под словом высветить, я имел ввиду, чтобы только те записи были видны в Гриде, которые отвечают условию...
Но как я понял, надо не с Гридом плясать, а с Датасетом... 
К smile акую-нибудь  функцию не подскажите?

Добавлено через 10 минут и 41 секунду
Не, мне не надо изменять данные на этом этапе. Я просто хочу, чтобы в Гриде высвечивались не все строки, а только те, в одном столбце в которых значение совпадало с выбранным в Комбобоксе ...
Помогите народ ...
PM MAIL   Вверх
Novichek27
Дата 12.6.2011, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробуй так примерно, используя ADOQuery:

Код

...
case ComboBox1.ItemIndex of
0: ADOQuery1.SQL.Text := 'SELECT *FROM table WHERE field1='значение'';
1: ADOQuery1.SQL.Text := 'SELECT *FROM table WHERE field1='др.значение'';
2: ADOQuery1.SQL.Text := 'SELECT *FROM table WHERE field1='3-е значение'';
//и т.д..
end;
...


строки будут выбираться...

Добавлено @ 19:07
НЕТ, это не то. ВОТ так пробуй:

Код

var s : string;
begin
s := ComboBox1.Text;
with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT *FROM table');
    SQL.Add('WHERE (field1 LIKE "%' + s + '%")');
    Open;
  end;
end;


Это сообщение отредактировал(а) Novichek27 - 12.6.2011, 19:16
PM   Вверх
14SatanA88
Дата 13.6.2011, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Jura07, 

table.Filter:='ПОЛЕ = УСЛОВИЕ';

в делфи хелпе есть примеры
PM MAIL ICQ   Вверх
Jura07
Дата 13.6.2011, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

table.Filter:='ПОЛЕ = УСЛОВИЕ';

 
в моем случае это должно  выглядеть так???
Код

Form1.Spisok.Filter:='Специальность'=ComboBox2.text;

но все равно не работает
PM MAIL   Вверх
Jura07
Дата 13.6.2011, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



у меня получается что-то вроде этого
Код

Form1.Spisok.Filter:=Spisok.FieldByName('Специальность').AsString = ComboBox2.text;


но выдает ошибку Incompatible types: 'String' and 'Boolean'

что я делаю не так?
PM MAIL   Вверх
Akella
Дата 13.6.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



тебе ж дали уже пример с SQL
PM MAIL   Вверх
Jura07
Дата 13.6.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я с SQL не особо знаком... хотел обойтись 
ну раз пошла такая пьянка - какой элемент надо на форму добавить ?
PM MAIL   Вверх
Данкинг
Дата 13.6.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Jura07 @  13.6.2011,  14:25 Найти цитируемый пост)
какой элемент надо на форму добавить ? 

TADOQuery. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Jura07
Дата 13.6.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



говорю же в SQL вообще не секу smile 
теперь пишет Missing connection or connection string ...
 smile 
PM MAIL   Вверх
Данкинг
Дата 13.6.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(Jura07 @  13.6.2011,  15:49 Найти цитируемый пост)
теперь пишет Missing connection or connection string ...

И при чём здесь SQL? smile  У AdoQuery в свойстве .Connection выбери своё ADOConnection.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
14SatanA88
Дата 13.6.2011, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

Form1.Spisok.Filter:='Специальность = '+ComboBox2.text;


если не запашет, то
Код

Form1.Spisok.Filter:='Специальность = '+QuotedStr(ComboBox2.text);


в общем смотри сюда.
если у тебя условие известное заранее тебе, то вот пример:
Spisok.Filter:='Специальность = олкоголег'
если же ты берешь данные для фильтра извне (например свойство текцт компонента эдит), то:
Spisok.Filter:='Специальность = '+QuotedStr(Edit1.Text)

понял?

Это сообщение отредактировал(а) 14SatanA88 - 13.6.2011, 15:41
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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