Link to home
Avatar of A. Cristian Csiki
A. Cristian CsikiFlag for Ireland

asked on

sort, but not as desired

Sort fine, but in my stringgrid i've got even empty spaces. When I sort the stringgrid the empty rows become before the data from my text.
ex:

a a a a a
b b b b b
'' ''  ''  '' ''

''-empty cell.....means that i've got an empty row.

after sort... the empty row is the first as normaly...but how can I prevent that and put the empty spaces last?
Thanks.
Avatar of A. Cristian Csiki
A. Cristian Csiki
Flag of Ireland image

ASKER

I forgot to show the code:

procedure SortStringGrid(var GenStrGrid: TStringGrid; ThatCol: Integer);
const
  TheSeparator = '@';
var
  CountItem, I, J, K, ThePosition: integer;
  MyList: TStringList;
  MyString, TempString: string;
begin
  CountItem := GenStrGrid.RowCount;
  MyList        := TStringList.Create;
  MyList.Sorted := False;
  try
    begin
      for I := 1 to (CountItem - 1) do
        MyList.Add(GenStrGrid.Rows[I].Strings[ThatCol] + TheSeparator +
          GenStrGrid.Rows[I].Text);
      Mylist.Sort;
      for K := 1 to Mylist.Count do
      begin
        MyString := MyList.Strings[(K - 1)];
        ThePosition := Pos(TheSeparator, MyString);
        TempString  := '';
        {Eliminate the Text of the column on which we have sorted the StringGrid}
        TempString := Copy(MyString, (ThePosition + 1), Length(MyString));
        MyList.Strings[(K - 1)] := '';
        MyList.Strings[(K - 1)] := TempString;
      end;
      for J := 1 to (CountItem - 1) do
        GenStrGrid.Rows[J].Text := MyList.Strings[(J - 1)];
    end;
  finally
    MyList.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SortStringGrid(StringGrid1, 1);
end;

from http://www.delphitricks.com/source-code/components/sort_a_stringgrid.html
ASKER CERTIFIED SOLUTION
Avatar of dinilud
dinilud
Flag of India image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Thanks.