Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Помогите с TStringgrid   Найти похожие ветки 

 
Blacksus   (2006-08-23 19:38) [0]

Помогите кто знает, у меня небольшая проблемма с программой. Есть объект TStringGrid (таблица), он заполняется информацией из файла. Я реализовал в нем поиск по ячейкам. Если искомое слово находится в ячейке, то ячейка выделяется. Проблемма в том, что если эта ячейка находится за областью видимости, то скроллбар не срабатывает и ячейка так и остается вне зоны видимости. Если нажать на любую стрелку на клавиатуре, то скроллбар перемещает экран к этой ячейке. Как бы сделать так, чтобы область видимости перемещалась автоматически к найденой ячейке??? Перепробовал все методы этого объекта - безрезультатно!!!
Отрывок кода для наглядности:

procedure TForm1.Button4Click(Sender: TObject);
var
Rect: TGridRect;
begin
st:=edit3.text;
for si:=1 to sn do
 for sj:=0 to 10 do
  begin
   for sk:=1 to length(stringgrid1.cells[sj,si])-length(st)+1 do
    if copy(stringgrid1.cells[sj,si],sk,length(st))=st then
     begin
      rect.Left:=sj;
      rect.Top:=si;
      rect.Right:=sj;
      rect.Bottom:=si;
      stringgrid1.selection:=rect; //Выделяет найденую ячейку
      stringgrid1.SetFocus; //Фокус на окне таблицы
     end;
  end;
end;


 
Sergio77   (2006-08-23 20:05) [1]

stringgrid1.leftcol:=
stringgrid1.toprow:=

для примера проще:
for y:=1 to Stringgrid1.Colcount do
for x:=1 to stringgrid1.rowcount do
 if stringgrid1.cells[x,y] = edit1.text then ...
 if AnsiUppercase(stringgrid1.cells[x,y]) = ansiuppercase(edit1.text) then ...
 if pos(edit1.text, stringgrid1.cells[x,y]) > 0 then ...


 
Sergio77   (2006-08-23 20:10) [2]

быстро писал, надо поработать в зависимости от задачи над x и y смотря в каких колонках и строках надо искать..


 
Sergio77   (2006-08-23 20:12) [3]

в данном случае у тебя третий вариант поиска, если надо без учета регстр, то используй ansiuppercase в третем варианте



Страницы: 1 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1157880411
OSokin
2006-09-10 13:26
2006.10.01
Дос или винда?


15-1157772748
SergP
2006-09-09 07:32
2006.10.01
Почему нет доступа?


2-1157723033
random(128)
2006-09-08 17:43
2006.10.01
HashLib! v1.03 и т.д.


3-1154037201
Адиль
2006-07-28 01:53
2006.10.01
Нереляционные базы данных


4-1148486061
Raptoridzevv
2006-05-24 19:54
2006.10.01
хндл => path