안녕하세요... 매경인데요...^^
웅... 이걸 if문에 관한 질문이라고 할런지... 테이블에 관한 질문이라고 할런지...
무쟈게 고민되는 군엽=_-
다름이 아니라...^^;;;
테이블을 검색(BANKCODE로...)해서 검색 결과가 암것두 없으면... 버튼을 disalbe시키고 싶거든요... (테이블을 검색한 내용은 그리드로 뿌려진답니다...^^)
그런데 제가 그리드를 이용하는 방법두 잘 모르고 해서... BANKCODE라는 DBTEXT를 폼에 하나 올려 놓구 Visable = False로 한담에... 그 DBText에 아무 내용도 없으면, 버튼을 disable시키게 하려구 했는데... BtnDelete.Enabled := False; 까진 되는데... !_!
Bankcode로 검색해서 데이타가 있는 경우엔... 버튼이 다시 enable루 되는건... 안되네엽... 흑~ 도와주세여...!_!
procedure TF_Ent_Info.BtnSearchClick(Sender: TObject);
begin
if (BANKCODE = nil) then
begin
BtnEdit.Enabled := False;
BtnDelete.Enabled := False;
end
else
begin
BtnEdit.Enabled := True;
BtnDelete.Enabled := True;
end;
end;
>
> 안녕하세요... 매경인데요...^^
>
> 웅... 이걸 if문에 관한 질문이라고 할런지... 테이블에 관한 질문이라고 할런지...
> 무쟈게 고민되는 군엽=_-
>
> 다름이 아니라...^^;;;
>
> 테이블을 검색(BANKCODE로...)해서 검색 결과가 암것두 없으면... 버튼을 disalbe시키고 싶거든요... (테이블을 검색한 내용은 그리드로 뿌려진답니다...^^)
>
> 그런데 제가 그리드를 이용하는 방법두 잘 모르고 해서... BANKCODE라는 DBTEXT를 폼에 하나 올려 놓구 Visable = False로 한담에... 그 DBText에 아무 내용도 없으면, 버튼을 disable시키게 하려구 했는데... BtnDelete.Enabled := False; 까진 되는데... !_!
>
> Bankcode로 검색해서 데이타가 있는 경우엔... 버튼이 다시 enable루 되는건... 안되네엽... 흑~ 도와주세여...!_!
>
> procedure TF_Ent_Info.BtnSearchClick(Sender: TObject);
> begin
> if (BANKCODE = nil) then
> begin
> BtnEdit.Enabled := False;
> BtnDelete.Enabled := False;
> end
> else
> begin
> BtnEdit.Enabled := True;
> BtnDelete.Enabled := True;
> end;
> end;
>
DBText값을 확인할 필요가 없을것 같은데요...
음... DB에 연결된 DataSource의 이벤트에보면 OnDataChange 이벤트라는것이 있습니다.
이부분에다 이렇게 기입하면 될것 같습니다.
OnDataChange이벤트는 DB의 내용이 입력, 수정, 삭제나 검색에 의해 변화될때 발생되는 이벤트로 알고있습니다. 즉 검색을 해서 레코드의 변화가 생긴다면 발생하게 되죠.
그리고 recordcount로 검색하면 값이 있는지 없는지 알수 있을것 같습니다.
만약 아래와 같이 했는데 에러가 발생하는 경우에는 문장앞에
if (form1.visible=false) or (table1.active=false) then
exit;
구문을 써주시면 될것 같습니다.
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if table1.recordcount=0 then begin
btnedit.enable:=fasle;
BtnDelete.Enabled:=false;
end
else begin
btnedit.enable:=true;
BtnDelete.Enabled.true;
end;
end;