Возникла странность при нумерации таблицы stringrid
| Код | procedure TMain.FormShow(Sender: TObject); var i:integer; //Строка грида j:integer;//Столбец грида number:integer; //Нумерация грида begin
number:=0;//Обнуляем счетчик грида for I := 0 to grid_a.colCount-1 do begin for j := 0 to grid_a.rowCount-1 do begin inc(number); //Наращеваем счетчик грида
//Нумеруем гриды в зависимости grid_a.Cells[j,i]:=inttostr(number); grid_a.Alignments[j,i]:=taCenter;
grid_b.Cells[j,i]:=inttostr(number); grid_b.Alignments[j,i]:=taCenter;
grid_c.Cells[j,i]:=inttostr(number); grid_c.Alignments[j,i]:=taCenter;
grid_d.Cells[j,i]:=inttostr(number); grid_d.Alignments[j,i]:=taCenter; end; end; end;
|
При отображение формы все происходит нормально, числа нумеруются по порядку от 1 до 36(таблицы 6 на 6)
т.к в ходе работы программы таблицы меняет свой размер, написал процедурку
| Код | //Изменения размера таблиц procedure Tmain.regrid(size, r:integer); var i:integer; //Строка грида j:integer;//Столбец грида number:integer; //Нумерация грида begin
//Изменения размерности грида grid_a.RowCount:=r; grid_a.Height:=154+size; grid_c.RowCount:=r; grid_c.Height:=154+size; Grid_c.Top:=161+size;
grid_b.RowCount:=r; grid_b.Height:=154+size; grid_d.RowCount:=r; grid_d.Height:=154+size; Grid_d.Top:=161+size; Main.Height:=394+size*2;
number:=0;//Обнуляем счетчик грида for I := 0 to grid_a.colCount-1 do begin for j := 0 to grid_a.RowCount-1 do begin inc(number); //Наращеваем счетчик грида
//Нумеруем гриды в зависимости grid_a.Cells[j,I]:=inttostr(number); grid_a.Alignments[j,I]:=taCenter; grid_a.Colors[j,I]:=clwhite;
grid_b.Cells[j,I]:=inttostr(number); grid_b.Alignments[j,I]:=taCenter; grid_b.Colors[j,I]:=clwhite;
grid_c.Cells[j,I]:=inttostr(number); grid_c.Alignments[j,I]:=taCenter; grid_c.Colors[j,I]:=clwhite;
grid_d.Cells[j,I]:=inttostr(number); grid_d.Alignments[j,I]:=taCenter; grid_d.Colors[j,I]:=clwhite; end; end; end;
|
Вызов процедуры
| Код | procedure TMain.N71Click(Sender: TObject); begin //Изменяем размер таблицы regrid(75, 9); end;
|
И вот тут возникает ошибка, Нумерация происходит не правильно и выглядит так
| Код | 1,2,3,4,5,6, 10,11,12,13,14,15, 19,20,21,22,23,24, 28,29,30,31,32,33, 37,38.39,40,41,42, 46,47,48,49,50,51
|
Почему так происходит я не понимаю ( |