안녕하세요
델파이로 asp컴포넌트를 만들고 있는 놈입니다.
사원 조회 컴포넌 트를 만들고 있는 데요
직원이 많아서(300여명)
게시판처럼[이전10개][1][2][3][4][5][6][7][8][9][10][다음10개]이런식으로 만들어
조회하려합니다.
현재 [1][2][3][4][5][6][7][8][9][10]는 구현을 했는데
[이전 10개] [다음 10개]를 구현못하고 헤메고있습니다.
고수님들 도와 주셔요................
procedure TCoLogin.list;
var
tmp:string;
st : TStringList;
rc,pg,pa,j,n,w,i : integer;
begin
With TDataModule2.Create(nil) do
Try
if (SID <> Session.SessionID) then //로그인한 사용자와 안한 사용자의구분
begin //로그인 안한사용자
Response.Write('
로그인하세요~@^^@
');
Response.Write('
로그인 ');
end
else begin //로그인을한 사용자
st := TStringList.Create;
St.LoadFromFile(ROOT +'board_table.html'); //경로바꾸지말것!
ADOQuery2.Close;
ADOQuery2.Parameters.ParamByName('PAB_Part_Code').Value := session.Contents['PartCode'];
ADOQuery2.Open;
rc := ADOQuery2.RecordCount; //부서의 총인원
pg := rc div PAGESIZE ; //전체페이지수
pa := StrToInt(Request.QueryString.Item[1]); //현재페이지넘버
ADOQuery2.First;
for j:=0 to st.Count -1 do //html틀을 보여주기위한 루프
begin
st[j] := StringReplace(st[j],'@list',ADOQuery2.FieldByName('OB_Name').AsString,[rfReplaceAll]);
st[j] := StringReplace(st[j],'@num','총'+IntToStr(rc)+'명입니다.',[rfReplaceAll]);
Response.Write(st[j]);
end;
if not ADOQuery2.EOf then
begin
ADOQuery2.First;
for n:=1 to (pa-1) * 10 do //페이지의 첫번째 사원을 찾는다.
begin
ADOQuery2.Next;
end;
for w:=1 to PAGESIZE do
begin
tmp := '
'+
'@Name | '+
'@Number | @Order | '+
'@Duty |
';
tmp := StringReplace(tmp,'@Name',ADOQuery2.FieldByName('PAB_Name_Hangul').AsString,[rfReplaceAll]);
tmp := StringReplace(tmp,'@Number',ADOQuery2.FieldByName('PAB_Number').AsString,[rfReplaceAll]);
tmp := StringReplace(tmp,'@Order',ADOQuery2.FieldByName('PAB_Order_Code').AsString,[rfReplaceAll]);
tmp := StringReplace(tmp,'@Duty',ADOQuery2.FieldByName('PAB_Duty_Code').AsString,[rfReplaceAll]);
response.Write(tmp);
ADOQuery2.next;
if ADOQuery2.Eof then
begin
break;
end;
end;
end
else begin
Response.Write('어랏..차라리 날쥑이도.....');
end;
for i:=1 to pg + 1 do
begin
if pa<>i then
begin
Response.Write('
['+IntToStr(i)+']');
end
else if pa=i then
begin
response.Write('[' + IntToStr(i) + ']');
end;
end; //list.asp 부르기 (페이지를 10명단위로 나눠서 보여준는메소드)
end;
finally
st.Free;
end;
end;