Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Сортировка таблицы stringgrid   Найти похожие ветки 

 
БурЖуй ©   (2003-01-29 23:43) [0]

Господа! Пишу:
min:=1;
for p:=1 to stringgrid1.RowCount do begin
for o:=p to stringgrid1.RowCount do
begin
if stringgrid1.Cells[i,min]>stringgrid1.Cells[i,o] then begin
m:=min;
stringgrid1.Rows[m].Move(m,o);
min:=o;
end;
end;
Когда вызываю stringgrid1.Rows[m].Move говорит "Cannot insert or delete rows from grid"
В чём трабл?
Заранее спасибо!


 
BLooDMaN ©   (2003-01-29 23:46) [1]

может ты имел ввиду вот это:
min:=1;
for p:=1 to stringgrid1.RowCount do begin
for o:=p to stringgrid1. COLCOUNT do
begin
if stringgrid1.Cells[i,min]>stringgrid1.Cells[i,o] then begin
m:=min;
stringgrid1.Rows[m].Move(m,o);
min:=o;
end;
end;


 
БурЖуй ©   (2003-01-29 23:57) [2]

нет
Объясняю - i это колонка по какой я сортирую таблицу.
А метод которым я сортирую, если не ошиюаюсь называется пузырьковый.... протсо мне не понятно почему не работает встроеная функция stringgrid1.Rows[m].Move(m,o);.... и не понятно почемув параметрах нужно ставить текущий и следующее значение индекса, ведь текущее уже задано:.Rows[m].


 
uw ©   (2003-01-30 01:23) [3]

Cells индексируются с нуля.


 
А   (2003-01-30 05:01) [4]

также Rows & Cols! Все с нуля и до Count-1.


 
MBo ©   (2003-01-30 06:34) [5]

procedure SGExchangeRows(SG:TStringGrid; Row1,Row2:Integer);
var TempString: String;
begin
if (Row1 in [0..SG.RowCount-1]) and (Row2 in [0..SG.RowCount-1]) then begin
TempString:=SG.Rows[Row1].Text;
SG.Rows[Row1].Assign(SG.Rows[Row2]);
SG.Rows[Row2].Text:=TempString;
end;
end;

//сортировка по значениям колонки, заголовок которой был нажат
procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Var ACol,ARow,i,j:Integer;
begin
with StringGrid1 do begin
MouseToCell(X,Y,ACol,ARow);
if (ARow=0) and (ACol>=FixedCols) then
for i:=FixedRows to RowCount-2 do
for j:=i+1 to RowCount-1 do
if Strtoint(Cells[ACol,i])>strtoint(Cells[ACol,j]) then
//в таблице были целые числа
SGExchangeRows(StringGrid1,i,j);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-28844
FLAW
2003-02-03 00:08
2003.02.10
Как удалить из txt-файла все кроме букв?


1-28865
Максимилиано
2003-01-30 14:45
2003.02.10
Создание обектов по имени класса


1-28920
SergeN
2003-01-29 10:45
2003.02.10
Компоненты


14-29049
Sergo
2003-01-24 10:00
2003.02.10
TeeChart Pro 5


14-28987
vopros
2003-01-23 10:25
2003.02.10
Кто видел , чтоб DBImage хранил jpg?