Q&A

  • DB 그리드에서 순번을 매기는 소스를 썼더니 에러가....
수고많으십니다.

델파이초짜 정상원이라고 합니다.

다름이 아니고 아래와 같은 소스를 써서 현황화면에서 조회를 해보면 1번소스에는

(주소와 전화번호등) 공란으로 나오는 컬럼이 있는데 2번 소스로 또다른 현황에서

조회를 해보면 모두 정상으로 나옵니다.

이유를 아시는 고수분들은 필히 연락(jsw7120@netian.com)이나 답변주시면 감사하겠습니다.



그럼 수고하세요..



1) procedure Twf_lidhc001100w.ClientDataSet1CalcFields(DataSet: TDataSet);

var

b_SNO : Integer;

i : Integer;

begin



i := ClientDataSet1.RecordCount;

//for j := 1 to i do begin



if ClientDataSet1.RecNo = -1 then begin // ClientDataSet1을 맨처음은 -1로 시작

ClientDataSet1.FieldByName('b_SNO').asinteger := 1

end

else

begin

ClientDataSet1.FieldByName('b_SNO').asinteger := ClientDataSet1.RecNo;

end;

// ClientDataSet2.Next;

// end;

end;



2) procedure Twf_lidhc001100w.ClientDataSet2CalcFields(DataSet: TDataSet);

var

b_SNO : Integer;

i : Integer;

begin



i := ClientDataSet2.RecordCount;

// for j := 1 to i do begin



if ClientDataSet2.RecNo = -1 then begin // ClientDataSet2을 맨처음은 -1로 시작

ClientDataSet2.FieldByName('b_SNO').asinteger := 1

end else

begin

ClientDataSet2.FieldByName('b_SNO').asinteger := ClientDataSet2.RecNo;

end;

//ClientDataSet2.Next;

//end;

end;

1  COMMENTS
  • Profile
    마으미 2001.06.13 10:15
    아래의 소스가 정상적인건가요?

    정리 좀 해서 올리시면 보기가 훨씬 좋구 다른 분들도 답해 드렸을텐데.. 쩝..



    > begin

    > ClientDataSet1.FieldByName('b_SNO').asinteger := ClientDataSet1.RecNo;

    > end;

    > // ClientDataSet2.Next;

    > // end;

    > end;



    대충보니 마이다스 하시는 것 같으신데여..

    루프문 막으신게 정상적이라면 제가 보는 바는 같은 소스입니다.

    루프문을 막지 않으셨다면

    위에 ClientDataSet2.Next부분이 저기에 들어가야 되나여?

    ClientDataSet1에 해당하는 Next는 없는데여..??





    정상원 wrote:

    > 수고많으십니다.

    > 델파이초짜 정상원이라고 합니다.

    > 다름이 아니고 아래와 같은 소스를 써서 현황화면에서 조회를 해보면 1번소스에는

    > (주소와 전화번호등) 공란으로 나오는 컬럼이 있는데 2번 소스로 또다른 현황에서

    > 조회를 해보면 모두 정상으로 나옵니다.

    > 이유를 아시는 고수분들은 필히 연락(jsw7120@netian.com)이나 답변주시면 감사하겠습니다.

    >

    > 그럼 수고하세요..

    >

    > 1) procedure Twf_lidhc001100w.ClientDataSet1CalcFields(DataSet: TDataSet);

    > var

    > b_SNO : Integer;

    > i : Integer;

    > begin

    >

    > i := ClientDataSet1.RecordCount;

    > //for j := 1 to i do begin

    >

    > if ClientDataSet1.RecNo = -1 then begin // ClientDataSet1을 맨처음은 -1로 시작

    > ClientDataSet1.FieldByName('b_SNO').asinteger := 1

    > end

    > else

    > begin

    > ClientDataSet1.FieldByName('b_SNO').asinteger := ClientDataSet1.RecNo;

    > end;

    > // ClientDataSet2.Next;

    > // end;

    > end;

    >

    > 2) procedure Twf_lidhc001100w.ClientDataSet2CalcFields(DataSet: TDataSet);

    > var

    > b_SNO : Integer;

    > i : Integer;

    > begin

    >

    > i := ClientDataSet2.RecordCount;

    > // for j := 1 to i do begin

    >

    > if ClientDataSet2.RecNo = -1 then begin // ClientDataSet2을 맨처음은 -1로 시작

    > ClientDataSet2.FieldByName('b_SNO').asinteger := 1

    > end else

    > begin

    > ClientDataSet2.FieldByName('b_SNO').asinteger := ClientDataSet2.RecNo;

    > end;

    > //ClientDataSet2.Next;

    > //end;

    > end;