⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrmcqgpsvehicleedit.pas

📁 msc map program to control client of tools,use for map guide
💻 PAS
字号:
unit ufrmCQGPSVehicleEdit;

interface

uses
  Windows, cxLookAndFeelPainters, cxGraphics, dxStatusBar, StdCtrls,
  cxButtons, cxTextEdit, cxControls, cxContainer, cxEdit, cxLabel,
  ExtCtrls, RzPanel, dxDockPanel, dxDockControl, Classes, Controls,
  uBaseDBEditForm, cxMemo, cxMaskEdit, cxDropDownEdit, sysUtils, 
  uBaseDBDefs, cxCalendar, Menus;

type
  TfrmCQGPSVehicleEdit = class(TBaseDBEditForm)
    dxDockSite1: TdxDockSite;
    dxLayoutDockSite1: TdxLayoutDockSite;
    dxDockPanel1: TdxDockPanel;
    btnSave: TcxButton;
    btnCancel: TcxButton;
    dxStatusBar: TdxStatusBar;
    gbPlan: TRzGroupBox;
    cxLabel2: TcxLabel;
    GroupID: TcxComboBox;
    cxLabel3: TcxLabel;
    RegistrationNO: TcxTextEdit;
    RzGroupBox1: TRzGroupBox;
    cxLabel5: TcxLabel;
    cxLabel6: TcxLabel;
    cxLabel7: TcxLabel;
    cxLabel8: TcxLabel;
    cxLabel15: TcxLabel;
    cxLabel16: TcxLabel;
    RzGroupBox2: TRzGroupBox;
    EngineNO: TcxTextEdit;
    cxLabel9: TcxLabel;
    cxLabel10: TcxLabel;
    ChasisNO: TcxTextEdit;
    cxLabel11: TcxLabel;
    CommNO: TcxTextEdit;
    cxLabel12: TcxLabel;
    FrameNO: TcxTextEdit;
    cxLabel13: TcxLabel;
    cxLabel14: TcxLabel;
    PACTLNO: TcxTextEdit;
    cxLabel17: TcxLabel;
    cxLabel18: TcxLabel;
    RzGroupBox4: TRzGroupBox;
    SIMNO: TcxTextEdit;
    cxLabel20: TcxLabel;
    cxLabel21: TcxLabel;
    cxLabel22: TcxLabel;
    SetupWorker: TcxTextEdit;
    cxLabel23: TcxLabel;
    cxLabel24: TcxLabel;
    Description: TcxTextEdit;
    cxLabel4: TcxLabel;
    VehicleColorID: TcxComboBox;
    VehicleTypeID: TcxComboBox;
    VehicleBandID: TcxComboBox;
    VehicleUsageID: TcxComboBox;
    VehicleManufactoryID: TcxComboBox;
    VehicleOwnerID: TcxComboBox;
    TerminalTypeID: TcxComboBox;
    FirstDriverID: TcxComboBox;
    SecondDriverID: TcxComboBox;
    IsPhoneEnable: TcxComboBox;
    PurchaseDate: TcxDateEdit;
    SetupDate: TcxDateEdit;
    cxLabel19: TcxLabel;
    UnitID: TcxComboBox;
    cxLabel1: TcxLabel;
    LoadingCapacity: TcxTextEdit;
    cxLabel25: TcxLabel;
    TotalWeight: TcxTextEdit;
    OilTypeID: TcxComboBox;
    cxLabel26: TcxLabel;
    procedure FormCreate(Sender: TObject);

  Public
    procedure Initial(_is_new: Boolean); override;
    procedure DoOnUnitIDPropertiesChange(Sender: TObject);
  end;


implementation

{$R *.dfm}

procedure TfrmCQGPSVehicleEdit.FormCreate(Sender: TObject);
begin
  CaptionControl := dxDockPanel1;
  HintControl    := dxStatusBar;
  ButtonConfirm  := btnSave;
  ButtonCancel   := btnCancel;
end;

procedure TfrmCQGPSVehicleEdit.Initial(_is_new: Boolean);

// function filter_combobox_function(_field_data_value: PBaseDBRefData; _field_name: string;
//                                    _filter_data: Variant): Boolean;
//  var
//    i             : Integer;
//    p_field_value : PBaseDBFieldValue;
//  begin
//    Result := False;
//
//    _filter_data := TBaseDBUtility.ExtractValueByFieldName('UserLevelNo',
//                                             _field_data_value^.FieldValueList);
//    // 遍历参考表参考数据的字段值列表
//    for i := 0 to _field_data_value^.FieldValueList.Count -1 do
//    begin
//      // 取得数据值指针
//      p_field_value := PBaseDBFieldValue(_field_data_value^.FieldValueList.Items[i]);
//
//      if UpperCase(p_field_value^.FieldInfo^.FieldName) = UpperCase(_field_name) then
//      begin
//        if (_filter_data = 1) then
//        begin
//          if (p_field_value^.Value >= _filter_data) then
//             Result := True
//          else
//             Result := False;
//        end
//        Else begin
//          if (p_field_value^.Value > _filter_data) then
//             Result := True
//          else
//             Result := False;
//        end;
//        if (p_field_value^.Value >= _filter_data) then
//           Result := True
//        else
//           Result := False;
//      end;
//    end;
//  end;
//var
//  p_field_value          : PBaseDBFieldValue;
//  ref_id_orginal         : Integer;
//  item_index_orginal     : Integer;
//  item_text              : string;
//  p_field_info           : PBaseDBFieldInfo;
//  p_ref_table            : PBaseDBRefTable;
begin
  inherited;

  UnitID.Properties.OnChange  := DoOnUnitIDPropertiesChange;

  DoOnUnitIDPropertiesChange(UnitID);

 // if _is_new then
//     FilterReferenceComboBox(GroupID, 'LevelNO' ,0 ,@filter_combobox_function)
//  else begin
//    p_field_value :=
//      TBaseDBUtility.ExtractFieldValueByFieldName('GroupID', EditFieldValueList);
//
//    ref_id_orginal := p_field_value^.Value;
//
//    FilterReferenceComboBox(GroupID, 'LevelNO' ,0 ,@filter_combobox_function);
//
//    item_index_orginal :=
//      GroupID.Properties.Items.IndexOfObject(Pointer(ref_id_orginal));
//
//    if item_index_orginal = -1 then
//    begin
//      p_field_value := TBaseDBUtility.ExtractFieldValueByFieldName(
//        'GroupID', EditFieldValueList);
//
//      p_field_info := TBaseDBUtility.FindFieldByName('GroupID', FieldList);
//      p_ref_table := p_field_info^.RefTableInfo;
//
//      item_text := TBaseDBUtility.RefValueToDisplayText(
//        p_ref_table^, p_field_value^.Value);
//
//      GroupID.Properties.Items.InsertObject(
//        0, item_text, TObject(Pointer(ref_id_orginal)));
//
//      item_index_orginal := 0;
//    end;
//
//    GroupID.ItemIndex := item_index_orginal;
//  end;
end;

procedure TfrmCQGPSVehicleEdit.DoOnUnitIDPropertiesChange(Sender: TObject);
var
  unit_id  : Integer;
begin
  unit_id := ExtractRefComboBoxReferenceID(UnitID);

  if unit_id <> -1 then
  begin
    FilterRefComboBoxByInfoValue(
      FirstDriverID, 'UnitID', unit_id);
    FilterRefComboBoxByInfoValue(
      SecondDriverID, 'UnitID', unit_id);
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -