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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2009, 16:49   #1
stp56
 
Регистрация: 15.04.2009
Сообщений: 8
По умолчанию StringGrid

Не нашел ничего похожего, что мне надо.

Есть БД а экселе (свои заморочки)
При открытии StringGrid автоматически считываются данные в строки Grid'а
Как сделать так, чтобы при ввобде Edit необходимый текст, в поле Grid отображались строки содержащие значения из Edit........т.е. грубо сделать фильтр строк, которые соответствуют требуем банным. Поиск необходимо только в одном столбце.

Сейчас есть только поиск, т.к. строка останавливается на первом попашемся значении.....не могу понять как сделать цикл по дальнейшим строкам и отсортировку....
stp56 вне форума Ответить с цитированием
Старый 25.07.2009, 18:58   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Используйте компонент DBEdit. Настройте его свойство DataSource на тот же DataSource, на который настроен DBGrid. И этот DBEdit будет отображать то значение по столбцу, на которой стоит курсор. Если я конечно правильно Вас понял. Если правильно понял, то, оставьте пожалуйста отзыв )
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2009, 19:32   #3
stp56
 
Регистрация: 15.04.2009
Сообщений: 8
По умолчанию

не, DB в том, то и дело не использую.....или оно со стрингом нормально будет работать?
stp56 вне форума Ответить с цитированием
Старый 27.07.2009, 20:26   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Дык вы уточните, у вас stringgrid или dbgrid?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2009, 20:44   #5
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Дык вы уточните, у вас stringgrid или dbgrid?
Там же написано StirngGrid

Цитата:
чтобы при ввобде Edit необходимый текст, в поле Grid отображались строки содержащие значения
Ну как то, так...
Код:
var
  rows: array of PChar;
  cnt: INteger;
...
SetLength(rows, StringGrid1.RowCount);
cnt := 0;
for i := 0 to StringGrid1.RowCount - 1 do
begin
  if StringGrid1.Cells[<столбец>, <строка>] = Edit1.Text then
  begin
    rows[cnt] := StringGrid1.Rows[i].GetText;
    Inc(cnt);
  end;
end;

for i := 0 to StringGrid1.RowCount - 1 do
  StringGrid1.Rows[i].Clear;

StringGrid1.RowCount := cnt;

for i := 0 to cnt do
  StringGrid1.Rows[i].SetText(rows[i]);
Но тут идет только полное сравнение, что ни есть гуд. Лучше поиск по маске
Код:
if Pos(Edit1.Text, StringGrid1.Cells[<столбец>, <строка>]) > 0 then
P.S. могут быть ошибки, писал прямо сюда
psycho-coder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid Witaliy Общие вопросы Delphi 4 05.04.2012 11:57
StringGrid ARXangel Общие вопросы Delphi 5 16.04.2009 09:16
StringGrid Chudo4258 Помощь студентам 1 17.03.2009 09:24
БД и StringGrid artemavd БД в Delphi 1 24.08.2008 10:36
StringGrid Devikss Общие вопросы Delphi 8 25.05.2008 16:14