RAD Studio VCL Reference
|
Re-enables data display in data-aware controls associated with the dataset.
procedure EnableControls;
__fastcall EnableControls();
Call EnableControls to permit data display in data-aware controls after a prior call to DisableControls. EnableControls decrements the disabled count variable for the dataset if it is not already zero. If the disable count variable is zero, EnableControls updates the current state of the dataset, if necessary, and then tells associated controls to re-enable display.
Delphi Examples:
{ Usually DisableControls is called within the context of a try...finally block that reenables the controls even if an exception occurs. For example: } procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin ListBox1.Clear; ListBox1.Items[0]:= 'Destination Airports:'; with Flights do begin DisableControls; try First; i:= 1; ListBox1.Items[0]:= 'Destination Airports:'; while not Eof do begin ListBox1.Items[i]:= Fields[2].Value;; i:= i + 1; Next; end; finally EnableControls; end; end; end; procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin Flights:= TTable.Create(Form1); with Flights do begin TableName := 'Flights'; // This path depends on the Demos directory of your RAD Studio installation. DatabaseName := 'c:\Documents and Settings\All Users\Documents\RAD Studio\6.0\Demos\IntraWeb\Win32\FlightInformation\Data'; end; DS2.DataSet:= Flights; DBGrid2.DataSource.DataSet:= Flights; Flights.Active:= True; end;
{ The following code fragment illustrates how DataSets and DataSetCount can be used to ensure that an action is taken for every open dataset. Assign CheckButtonActive as the AfterClose and AfterOpen event handlers for TClientDataSet1. } procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin if not RemoteServer1.Connected then RemoteServer1.Connected := True; ClientDataSet1.Close; with RemoteServer1 do begin for I := 0 to DataSetCount - 1 do DataSets[I].EnableControls; end; ClientDataSet1.Open; end; procedure TForm1.Button3Click(Sender: TObject); var I: Integer; begin ClientDataSet1.Close; RemoteServer1.Connected := False; with RemoteServer1 do begin for I := 0 to DataSetCount - 1 do DataSets[I].DisableControls; end; end; procedure TForm1.CheckButtonActive(DataSet: TDataSet); begin Button1.Enabled := not ClientDataSet1.Active; Button2.Enabled := ClientDataSet1.Active; Button3.Enabled := ClientDataSet1.Active; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|