Главная страница
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.056 c
15-1157977985
Tab
2006-09-11 16:33
2006.10.01
Кто как делает Разграничение доступа в программе?


4-1148483533
Raptoridzevv
2006-05-24 19:12
2006.10.01
Tchecklistbox


15-1157965806
dera
2006-09-11 13:10
2006.10.01
Какой hard и какой soft нужен для того чтоб оцифровать ...


3-1154405567
AVK
2006-08-01 08:12
2006.10.01
Oracle. Проблема c вызовом функций. DAO


5-1139491280
Awex
2006-02-09 16:21
2006.10.01
TEditControl