Q&A

  • 도와 주세요~~~~ ㅠ.ㅠ
안녕하세요

델파이로 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;

0  COMMENTS