Главная страница
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
14-29030
Anatoly Podgoretsky
2003-01-24 07:35
2003.02.10
Именинники 24 января


3-28666
lats
2003-01-24 09:10
2003.02.10
BDE не видит InterBase


9-28567
Gayrus
2002-08-31 14:24
2003.02.10
OpenGL


1-28740
Alex G
2003-01-31 23:09
2003.02.10
Проблема сортировки... Украинские слова


6-28969
NTDim
2002-12-19 11:42
2003.02.10
Кто нибудь знает как скачать страничку с сайта по HTTPS ?