질문 있습니다.
아래 함수는 컴포넌트를 선택적으로 초기화 시키는 함수 입니다.
procedure Init(frm : TForm; flag : Integer);
var
i, j, k : Integer;
begin
with frm do
begin
for i := 0 to ComponentCount - 1 do
begin
case flag of
0 : begin //edit 초기화
if Components[i] is TEdit then
TEdit(Components[i]).Clear;
end;
1 : begin //StringGrid 초기화
if Components[i] is TStringGrid then
begin
for j := 0 to TStringGrid(Components[i]).ColCount -1 do
begin
TStringGrid(Components[i]).Cells[j,1] := '';
end;
TStringGrid(Components[i]).RowCount := 2;
end;
end;
2 : begin //ComboBox 초기화
if Components[i] is TComboBox then
TComboBox(Components[i]).ItemIndex := -1;
end;
3 : begin //MaskEdit 초기화
if Components[i] is TMaskEdit then
TMaskEdit(Components[i]).Clear;
end;
end;
end;
end;
end;
다른 거는 다 무리없이 작동하는 데... StringGrid의 경우 함수가 제대로 작동하지 않습니다.
해결방법 있음 알려 주시면 감사하겠습니다.
수고 하십시요.
i, j : Integer;
begin
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TStringGrid then
begin
for j := 0 to TStringGrid(Components[i]).ColCount -1 do
begin
TStringGrid(Components[i]).Cells[j,1] := '';
end;
TStringGrid(Components[i]).RowCount := 2;
end;
end;
end;
아래 소스에서 스트링그리드 부분만 짤라서 해봤는데 잘되는데요?
확인해보세요...
즐프하세요...