| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Как высветить в Гриде определенные строки? |
| Автор: Jura07 11.6.2011, 18:37 |
| Как высветить в Grid только те строки из Table, которые отвечают условию совпадения с ComboBox.Text ???? |
| Автор: Jura07 11.6.2011, 19:01 | ||
|
| Автор: Vas 11.6.2011, 19:36 |
| Отказаться от TTable и использовать TQuery - это в идеале. Для TTable есть свойства Filter и Filtered, дальше думаю, сам докопаешься. Добавлено через 1 минуту и 36 секунд Так никогда не делай, грид не содержи записей, а только отображает их, так что все манипулации с данными делаются в датасете, а никак не в гриде. |
| Автор: Akella 11.6.2011, 22:45 |
| Слово "высветить" непонятное. Но моя телепатия подсказывает мне, что ты хочешь выделить некоторые строки другим цветом, так? Если так, то почитай про событие OnDrawCell. Погугли на тему цветной DBGrid. Примеров масса. |
| Автор: Jura07 12.6.2011, 16:10 |
| Под словом высветить, я имел ввиду, чтобы только те записи были видны в Гриде, которые отвечают условию... Но как я понял, надо не с Гридом плясать, а с Датасетом... К Добавлено через 10 минут и 41 секунду Не, мне не надо изменять данные на этом этапе. Я просто хочу, чтобы в Гриде высвечивались не все строки, а только те, в одном столбце в которых значение совпадало с выбранным в Комбобоксе ... Помогите народ ... |
| Автор: Novichek27 12.6.2011, 18:54 | ||||
Попробуй так примерно, используя ADOQuery:
строки будут выбираться... Добавлено @ 19:07 НЕТ, это не то. ВОТ так пробуй:
|
| Автор: 14SatanA88 13.6.2011, 08:41 |
| Jura07, table.Filter:='ПОЛЕ = УСЛОВИЕ'; в делфи хелпе есть примеры |
| Автор: Jura07 13.6.2011, 10:28 | ||||
в моем случае это должно выглядеть так???
но все равно не работает |
| Автор: Jura07 13.6.2011, 10:46 | ||
у меня получается что-то вроде этого
но выдает ошибку Incompatible types: 'String' and 'Boolean' что я делаю не так? |
| Автор: Akella 13.6.2011, 12:59 |
| тебе ж дали уже пример с SQL |
| Автор: Jura07 13.6.2011, 13:25 |
| я с SQL не особо знаком... хотел обойтись ну раз пошла такая пьянка - какой элемент надо на форму добавить ? |
| Автор: Данкинг 13.6.2011, 13:57 |
TADOQuery. |
| Автор: Jura07 13.6.2011, 14:49 |
| говорю же в SQL вообще не секу теперь пишет Missing connection or connection string ... |
| Автор: Данкинг 13.6.2011, 15:03 |
И при чём здесь SQL? |
| Автор: 14SatanA88 13.6.2011, 15:37 | ||||
если не запашет, то
в общем смотри сюда. если у тебя условие известное заранее тебе, то вот пример: Spisok.Filter:='Специальность = олкоголег' если же ты берешь данные для фильтра извне (например свойство текцт компонента эдит), то: Spisok.Filter:='Специальность = '+QuotedStr(Edit1.Text) понял? |
| Автор: Jura07 13.6.2011, 15:44 | ||
значит его тоже скинуть на форму? говорю же к этим элементам вообще не обращался... и не понял еще как надо! |
| Автор: 14SatanA88 13.6.2011, 15:47 |
| погоди, тебе не нужен никакой ADOConnection. у тебя таблица данных связана как? Table + DataSource? или ADOTable? |
| Автор: Jura07 13.6.2011, 15:49 |
| 14SatanA88, вот этот код мне уже ближе, вот только говорит, что Field C не может быть найден... название столбца не понимает, как можно подправить? Добавлено через 49 секунд DataSource - Table |
| Автор: 14SatanA88 13.6.2011, 15:54 | ||
| тааак. уже яснее. в общем виде код для фильтра такой
значит лоханулся с названием поля. проверь, как поле называется |
| Автор: Jura07 13.6.2011, 16:02 |
| подозреваю, что русские буквы не нравятся пишет Field 'C' not found FieldName = Специальность !!! проверил |
| Автор: 14SatanA88 13.6.2011, 16:04 | ||
ненене... напиши код, как ты фильтруешь именно строку, где фильтр:= |
| Автор: Jura07 13.6.2011, 16:05 | ||
|
| Автор: 14SatanA88 13.6.2011, 16:25 |
| избавься от кириллицы в названиях полей все же не будет голова пухнуть лишний раз |
| Автор: Данкинг 13.6.2011, 17:24 |
| Угу, так всё же к фильтрам вернулись. |
| Автор: 14SatanA88 14.6.2011, 08:07 |
| имхо удобней скула но это мое мнение |
| Автор: Vas 14.6.2011, 08:16 |
Вы просто не умеете его готовить |
| Автор: 14SatanA88 14.6.2011, 08:24 |
| это тоже правда. очень редко пользуюсь скулом. поэтому и говорю что фильтрами удобней |
| Автор: Akella 14.6.2011, 09:50 |
| Перетянуть на себя тыщ 150 записей и потом фильтровать |
| Автор: 14SatanA88 14.6.2011, 10:32 |
| Akella, спокойно. тут у топикстартера база данных мелкая совсем, так что использование фильтра потерь времени и ресурсов не принесет. |
| Автор: Akella 14.6.2011, 10:48 |
| Потом привыкаешь и отвыкнуть в дальнейшем тяжело. |
| Автор: 14SatanA88 14.6.2011, 11:00 |
| не буду с тобой спорить, Akella |
| Автор: Akella 14.6.2011, 12:01 |
| В споре рождается истина |