1
Generale / ColumnClickSorts con le Stringgrid
« Ultimo post da alexarmato66 il Oggi alle 11:00:57 am »In un progetto ho popolato una stringgrid (Stringgrid6) con dei valori numerici .
La colonna zero è numerata da 1 ad n con interi (1,2,3,4,….).Nelle proprietà della stringgrid6 ho posto ColumnClickSorts = true. Quando faccio un sort sulla colonna zero il programma vede la numerazione delle righe definita da numeri interi(1,2,3,4…) come delle stringhe e non riesce ad ordinare le righe in modo crescente o decrescente.Devo intervenire in qualche Evento della stringgrid6?
Ho provato così ma non funziona:
La colonna zero coincide con la colonna fissa.
La colonna zero è numerata da 1 ad n con interi (1,2,3,4,….).Nelle proprietà della stringgrid6 ho posto ColumnClickSorts = true. Quando faccio un sort sulla colonna zero il programma vede la numerazione delle righe definita da numeri interi(1,2,3,4…) come delle stringhe e non riesce ad ordinare le righe in modo crescente o decrescente.Devo intervenire in qualche Evento della stringgrid6?
Ho provato così ma non funziona:
Codice: [Seleziona]
procedure TForm1.StringGrid6CompareCells(Sender: TObject; ACol, ARow, BCol, BRow: Integer; var Result: Integer);
var
Val1, Val2: Integer;
begin
// Controlla se la colonna è quella che contiene i numeri interi
if ACol = 0 then
begin
// Converte le stringhe in numeri interi
Val1 := StrToInt(StringGrid6.Cells[ACol, ARow]);
Val2 := StrToInt(StringGrid6.Cells[BCol, BRow]);
// Confronta i valori interi
if Val1 < Val2 then
Result := -1
else if Val1 > Val2 then
Result := 1
else
Result := 0;
end
else
begin
// Per le altre colonne utilizza il confronto standard
Result := CompareText(StringGrid6.Cells[ACol, ARow], StringGrid6.Cells[BCol, BRow]);
end;
end;
La colonna zero coincide con la colonna fissa.