Q&A

  • DBGrid에서...
조건에 맞는 레코드를 쿼리해 와서 그리드에 뿌려 주는데...



그중 특정 몇몇 칼럼은 앞에 8자리는 떼고 9번째부터 보여 주기를 원하는데...



substring을 사용하면 된다고 하는데...



어디다 써야 하나요...



(냐하..;;; 일케 물어 봐도 되는건가여?;;;)



검색 버튼을 누르면... 조건에 맞게 검색해서 그리드에 뿌려 주는 형식이거든요...



원래 테이블엔...yyyymmddhhmmss형식으로 14자리가 저장되어 있는 필드를...



그리드에 뿌려 줄땐, 앞에 년/월/일 은 빼고 날짜만 뿌려 주고 싶답니다...



15개의 칼럼 중에 저렇게 뒷부분만 보여 주고 싶은 칼럼은 4개예요...



다른건... 그냥 Query1.Open하면 연결되어 있던 필드 고대로 보여 주면 되는데...





답변 부탁드릴께요...;;;



그럼 맛있는 점심 드세요...^^

2  COMMENTS
  • Profile
    bluechip 1999.12.08 22:40
    TDBGrid의 Cell을 색변화, DATA변화를 원하시는대로 나타낼수 있습니다



    아래 Source를 참고하세요 !!



    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

    DataCol: Integer; Column: TColumn; State: TGridDrawState);

    var

    DataInCell : string;

    len : integer;

    begin

    if DataCol = 2 then // 3번째 칼럼만 적용

    begin

    with (Sender as TDBGrid) do

    begin

    len := Length(Fields[DataCol].AsString);

    DataInCell := copy(Fields[DataCol].AsString,9,len-8);

    //if DataInCell = '' then exit;

    //Canvas.FillRect( rect );

    Canvas.Brush.Color := clBlue;

    Canvas.Font.Color := clWhite;

    Canvas.TextRect(rect, rect.left, rect.top+2, DataInCell);

    end;

    end;

    end;





    김매경 wrote:

    > 조건에 맞는 레코드를 쿼리해 와서 그리드에 뿌려 주는데...

    >

    > 그중 특정 몇몇 칼럼은 앞에 8자리는 떼고 9번째부터 보여 주기를 원하는데...

    >

    > substring을 사용하면 된다고 하는데...

    >

    > 어디다 써야 하나요...

    >

    > (냐하..;;; 일케 물어 봐도 되는건가여?;;;)

    >

    > 검색 버튼을 누르면... 조건에 맞게 검색해서 그리드에 뿌려 주는 형식이거든요...

    >

    > 원래 테이블엔...yyyymmddhhmmss형식으로 14자리가 저장되어 있는 필드를...

    >

    > 그리드에 뿌려 줄땐, 앞에 년/월/일 은 빼고 날짜만 뿌려 주고 싶답니다...

    >

    > 15개의 칼럼 중에 저렇게 뒷부분만 보여 주고 싶은 칼럼은 4개예요...

    >

    > 다른건... 그냥 Query1.Open하면 연결되어 있던 필드 고대로 보여 주면 되는데...

    >

    >

    > 답변 부탁드릴께요...;;;

    >

    > 그럼 맛있는 점심 드세요...^^

  • Profile
    이선진 1999.12.08 21:05
    표시하려는 날짜필드의 data type이 string형일때 sql문

    ->select substring(날짜,9,8) ... from ... where ...



    표시하려는 날짜필드의 data type이 date형일때 sql문

    ->select convert(varchar(8),날짜,108), ... from ... where ...







    김매경 wrote:

    > 조건에 맞는 레코드를 쿼리해 와서 그리드에 뿌려 주는데...

    >

    > 그중 특정 몇몇 칼럼은 앞에 8자리는 떼고 9번째부터 보여 주기를 원하는데...

    >

    > substring을 사용하면 된다고 하는데...

    >

    > 어디다 써야 하나요...

    >

    > (냐하..;;; 일케 물어 봐도 되는건가여?;;;)

    >

    > 검색 버튼을 누르면... 조건에 맞게 검색해서 그리드에 뿌려 주는 형식이거든요...

    >

    > 원래 테이블엔...yyyymmddhhmmss형식으로 14자리가 저장되어 있는 필드를...

    >

    > 그리드에 뿌려 줄땐, 앞에 년/월/일 은 빼고 날짜만 뿌려 주고 싶답니다...

    >

    > 15개의 칼럼 중에 저렇게 뒷부분만 보여 주고 싶은 칼럼은 4개예요...

    >

    > 다른건... 그냥 Query1.Open하면 연결되어 있던 필드 고대로 보여 주면 되는데...

    >

    >

    > 답변 부탁드릴께요...;;;

    >

    > 그럼 맛있는 점심 드세요...^^