25.05.2011, 17:35
|
Начинающий
|
|
Регистрация: 28.12.2010
Адрес: Сургут
Сообщения: 103
Версия Delphi: 2010
Репутация: -3238
|
|
Цитата:
Сообщение от Assistant
Код:
procedure FilteredStringGrid(Grid: TStringGrid; filter: string; num_col_for_find: integer);
var
i,n: integer;
cnt: integer;
begin
cnt := 0;
for i := 0 to Grid.RowCount-1 do
begin
if (Grid.Cells[num_col_for_find,i] = filter) then
begin
for n := 0 to Grid.ColCount-1 do
Grid.Cells[n,cnt] := Grid.Cells[n,i];
Inc(cnt);
end;
end;
Grid.RowCount := cnt;
end;
использовать так (для вашего случая):
Код:
FilteredStringGrid(StringGrid1,ComboBox1.Text,0);
P.S. только второй раз фильтрации уже не будет, ибо в гриде уже не будет данных, я бы посоветовал использовать второй, невидимый грид, или перед каждой фильтрацией заного загружать данные.
|
а num_col_for_find что такое
какие данные?
|