Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизПомогите с 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.012 c