unit U_TradeDeliveryRequest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
  cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
  cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
  cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
  RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit,
  cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
  dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseList,
  dxDateRanges, cxContainer, dxCore, cxDateUtils, cxMaskEdit, dxSkinWXI,
  dxScrollbarAnnotations, dxSkinBasic, dxSkinBlack, dxSkinBlue, dxSkinBlueprint,
  dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide,
  dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
  dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
  dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
  dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
  dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
  dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
  dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
  dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
  dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
  dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
  dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
  dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
  dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
  dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
  dxSkinXmas2008Blue, FrameDateSel;

type
  TfrmTradeDeliveryRequest = class(TfrmBaseList)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBAdd: TToolButton;
    TBEdit: TToolButton;
    TBDel: TToolButton;
    TBPrint: TToolButton;
    TBClose: TToolButton;
    Tv1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    TBExport: TToolButton;
    v1OrdDate: TcxGridDBColumn;
    Order_Main: TClientDataSet;
    ToolButton1: TToolButton;
    v1Column4: TcxGridDBColumn;
    Panel1: TPanel;
    Label4: TLabel;
    ToCoName: TcxTextEdit;
    cxTabControl1: TcxTabControl;
    tchk: TToolButton;
    Tnochk: TToolButton;
    cxSplitter1: TcxSplitter;
    DS_2: TDataSource;
    v1Column8: TcxGridDBColumn;
    ClientDataSet2: TClientDataSet;
    GPM_2: TcxGridPopupMenu;
    v1Column13: TcxGridDBColumn;
    v1Column17: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column27: TcxGridDBColumn;
    btnWC: TToolButton;
    btnWCCX: TToolButton;
    ToolButton6: TToolButton;
    Label1: TLabel;
    cxGrid2: TcxGrid;
    TV2: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridDBColumn7: TcxGridDBColumn;
    cv1Column3: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    TV2Column1: TcxGridDBColumn;
    TV2Column2: TcxGridDBColumn;
    TV2Column3: TcxGridDBColumn;
    Tv1Column1: TcxGridDBColumn;
    frmFrameDateSel1: TfrmFrameDateSel;
    //RMllPDFExport1: TRMllPDFExport;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure TBEditClick(Sender: TObject);
    procedure TBDelClick(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure TBPrintClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure TBAddClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToCoNameChange(Sender: TObject);
    procedure tchkClick(Sender: TObject);
    procedure TnochkClick(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure btnWCClick(Sender: TObject);
    procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
    procedure btnWCCXClick(Sender: TObject);
    procedure v1Column7PropertiesEditValueChanged(Sender: TObject);
    procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
  private
    procedure InitGrid();
    procedure InitSubGrid();
    procedure SetStatus();
    function DelData(): Boolean;
    { Private declarations }
  public
    FFInt: Integer;
    canshu1, canshu2: string;
    { Public declarations }
  end;

//var
  //frmContractListNX: TfrmContractListNX;

implementation

uses
  U_DataLink, U_TradeDeliveryRequestInPut, U_RTFun, U_ZDYHelp, U_LabelPrint;

{$R *.dfm}

procedure TfrmTradeDeliveryRequest.SetStatus();
begin
  tchk.Enabled := False;
  Tnochk.Enabled := False;
  btnWC.Enabled := False;
  btnWCCX.Enabled := False;

  if canshu1 = '录入' then
  begin
    case cxTabControl1.TabIndex of
      0:
        begin
          tchk.Enabled := true;
        end;
      1:
        begin
          Tnochk.Enabled := true;
          btnWC.Enabled := true;
        end;
      2:
        begin
          btnWCCX.Enabled := true;
        end;
    end;
  end
  else if canshu1 = '管理' then
  begin
    case cxTabControl1.TabIndex of
      0:
        begin
          tchk.Enabled := true;
        end;
      1:
        begin
          Tnochk.Enabled := true;
          btnWC.Enabled := true;
        end;
      2:
        begin
          btnWCCX.Enabled := true;
        end;
    end;
  end;
end;

procedure TfrmTradeDeliveryRequest.FormDestroy(Sender: TObject);
begin
  inherited;
  //frmFHSQList:=nil;

end;

procedure TfrmTradeDeliveryRequest.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Action := caFree;
end;

procedure TfrmTradeDeliveryRequest.TBCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmTradeDeliveryRequest.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      Sql.Add(' select A.*  ');
      sql.Add(' from Trade_Cloth_DR_Main A where 1=1');

      sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.begdate.Date) + ''' ');
      sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.Enddate.Date + 1) + ''' ');

      case cxTabControl1.TabIndex of
        0:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''0'' ');
          end;
        1:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''9'' ');
          end;
        2:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''10'' ');
          end;
      end;
      if Trim(canshu1) <> '管理' then
      begin
        sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + '''');
      end;
      sql.Add(' order by  Filltime desc ');
      Open;
    end;
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, Order_Main);
    SInitCDSData(ADOQueryMain, Order_Main);
  finally
    ADOQueryMain.EnableControls;
    TV1.DataController.Filter.Clear;
    TV2.DataController.Filter.Clear;
  end;
end;

procedure TfrmTradeDeliveryRequest.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active = False then
    Exit;
  SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  SCreateCDS(ADOQueryMain, Order_Main);
  SInitCDSData(ADOQueryMain, Order_Main);
end;

procedure TfrmTradeDeliveryRequest.TBEditClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
//  if cxTabControl1.TabIndex <> 0 then
//    Exit;
  if Trim(canshu1) <> '高权限' then
  begin

    with ADOQueryTemp do
    begin
      Close;
      sql.Clear;
      SQL.Add('select FILLER from Trade_Cloth_DR_Main A  ');
      SQL.Add('where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''' ');
      SQL.Add('and   filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname)));
      SQL.Add('))');
      Open;
    end;

    if ADOQueryTemp.ISEMPTY = True then
    begin
      Application.MessageBox('不能操作他人的数据!', '提示', 0);
      Exit;
    end;
//    if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
//    begin
//      Application.MessageBox('不能操作他人的数据!', '提示', 0);
//      Exit;
//    end;
  end;
  with ADOQueryTemp do
  begin
    close;
    sql.Clear;
    sql.Add('select * from Trade_Cloth_DR_Main');
    sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
    Open;
  end;
//  if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then
//  begin
//    Application.MessageBox('已生成应收账款不能修改数据!', '提示', 0);
//    Exit;
//  end;
  try
    frmTradeDeliveryRequestInPut := TfrmTradeDeliveryRequestInPut.Create(Application);
    with frmTradeDeliveryRequestInPut do
    begin
      PState := 1;
      FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString);
      if ShowModal = 1 then
      begin
        InitGrid();
      end;
    end;
  finally
    frmTradeDeliveryRequestInPut.Free;
  end;
end;

procedure TfrmTradeDeliveryRequest.TBDelClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  if cxTabControl1.TabIndex <> 0 then
    Exit;
  if canshu1 <> '高权限' then
  begin
    if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
    begin
      Application.MessageBox('不能操作他人的数据!', '提示', 0);
      Exit;
    end;
  end;

  if Application.MessageBox('确定要删除数据吗？', '提示', 32 + 4) <> IDYES then
    Exit;
  if DelData() then
  begin
    initgrid();
    InitSubGrid();
  end;
end;

function TfrmTradeDeliveryRequest.DelData(): Boolean;
begin
  try
    with Order_Main do
    begin
      Result := false;
      ADOQueryCmd.Connection.BeginTrans;
      DisableControls;
      First;
      while not eof do
      begin
        if fieldbyname('SSel').AsBoolean then
        begin
          with ADOQueryTemp do
          begin
            Close;
            sql.Clear;
            sql.Add(' select * from Trade_Cloth_IO where IOFlag=''出库''');
            sql.add(' and IONo=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
            Open;
          end;
          if ADOQueryTemp.IsEmpty = False then
          begin
            Order_Main.EnableControls;
            ADOQueryCmd.Connection.RollbackTrans;
            Application.MessageBox('已发货不能删除数据!', '提示', 0);
            exit;
          end;

          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            sql.Add('delete Trade_Cloth_DR_Sub where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
            ExecSQL;
          end;
          with ADOQueryCmd do
          begin
            Close;
            sql.Clear;
            sql.Add('delete Trade_Cloth_DR_Main where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
            ExecSQL;
          end;
        end;
        next;
      end;
      First;
      EnableControls;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    Result := True;
  except
    order_main.EnableControls;
    ADOQueryCmd.Connection.RollbackTrans;
    Result := False;
    Application.MessageBox('数据删除异常！', '提示', 0);
  end;
end;

procedure TfrmTradeDeliveryRequest.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    Exit;
//  SelExportData(Tv1, ADOQueryMain, '发货申请列表');
end;

procedure TfrmTradeDeliveryRequest.TBPrintClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;

  try
    frmLabelPrint := TfrmLabelPrint.Create(Application);
    with frmLabelPrint do
    begin
      FLMType := 'TradeClothDR1';
      FFiltration1 := Trim(self.Order_Main.fieldbyname('DRMID').AsString);
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmLabelPrint.Free;
  end;
end;

procedure TfrmTradeDeliveryRequest.TBRafreshClick(Sender: TObject);
begin
  InitGrid();

end;

procedure TfrmTradeDeliveryRequest.TBAddClick(Sender: TObject);
var
  maxno: string;
begin
  try
    frmTradeDeliveryRequestInPut := TfrmTradeDeliveryRequestInPut.Create(Application);
    with frmTradeDeliveryRequestInPut do
    begin
      PState := 0;
      FDRMID := '';
      if ShowModal = 1 then
      begin
        InitGrid();
      end;
    end;
  finally
    frmTradeDeliveryRequestInPut.Free;
  end;
end;

procedure TfrmTradeDeliveryRequest.FormShow(Sender: TObject);
begin
  inherited;
  canshu1 := self.fParameters1;
  ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理');
  ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理');

  frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
  frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 60;
  SetStatus();
  InitGrid();
end;

procedure TfrmTradeDeliveryRequest.CheckBox1Click(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmTradeDeliveryRequest.CheckBox2Click(Sender: TObject);
begin
  TBRafresh.Click;
end;

procedure TfrmTradeDeliveryRequest.ToolButton1Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    Exit;
  try
    frmTradeDeliveryRequestInPut := TfrmTradeDeliveryRequestInPut.Create(Application);
    with frmTradeDeliveryRequestInPut do
    begin
      PState := 1;
      FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString);
      ToolBar2.Visible := False;
      TBSave.Visible := False;
      ScrollBox1.Enabled := False;
      Tv1.OptionsSelection.CellSelect := False;
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmTradeDeliveryRequestInPut.Free;
  end;
end;

procedure TfrmTradeDeliveryRequest.ToCoNameChange(Sender: TObject);
begin
  if ADOQueryMain.Active = False then
    Exit;
  SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  SCreateCDS(ADOQueryMain, Order_Main);
  SInitCDSData(ADOQueryMain, Order_Main);
end;

procedure TfrmTradeDeliveryRequest.tchkClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    exit;
  if cxTabControl1.TabIndex <> 0 then
    exit;
  try
    with Order_Main do
    begin
      DisableControls;
      First;
      while not eof do
      begin
        if fieldbyname('SSel').AsBoolean then
        begin
          with ADOQueryCmd do
          begin
            close;
            sql.Clear;
            sql.Add('update  Trade_Cloth_DR_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),Status=''9'' ');
            sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
            execsql;
          end;
        end;
        next;
      end;
      First;
      EnableControls;
    end;
    InitGrid();
    application.MessageBox('审核成功！', '提示信息');
  except
    application.MessageBox('审核失败！', '提示信息', 0);
  end;
end;

procedure TfrmTradeDeliveryRequest.InitSubGrid();
begin

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* ');
    sql.Add('from Trade_Cloth_DR_Sub A   where A.DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
    Open;
  end;
  SCreateCDS(ADOQueryTemp, ClientDataSet2);
  SInitCDSData(ADOQueryTemp, ClientDataSet2);
end;

procedure TfrmTradeDeliveryRequest.TnochkClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    exit;
  if cxTabControl1.TabIndex <> 1 then
    exit;
  try
    with Order_Main do
    begin
      DisableControls;
      First;
      while not eof do
      begin
        if fieldbyname('SSel').AsBoolean then
        begin
          with ADOQueryCmd do
          begin
            close;
            sql.Clear;
            sql.Add('update  Trade_Cloth_DR_Main SET Chker=Null,ChkTime=Null,status=''0'' ');
            sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
            execsql;
          end;
        end;
        next;
      end;
      First;
      EnableControls;
    end;
    InitGrid();
    application.MessageBox('撤销成功！', '提示信息');
  except
    application.MessageBox('撤销失败！', '提示信息', 0);
  end;
end;

procedure TfrmTradeDeliveryRequest.cxTabControl1Change(Sender: TObject);
begin

  SetStatus();
  InitGrid();
end;

procedure TfrmTradeDeliveryRequest.btnWCCXClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    exit;
  try
    with Order_Main do
    begin
      DisableControls;
      First;
      while not eof do
      begin
        if fieldbyname('SSel').AsBoolean then
        begin
//          with ADOQueryTemp do
//          begin
//            Close;
//            sql.Clear;
//            sql.Add('exec P_CW_Judge_All @DataID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
//            Open;
//          end;
//          if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
//          begin
//            Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0);
//            exit;
//          end;

          with ADOQueryCmd do
          begin
            close;
            sql.Clear;
            sql.Add('update  Trade_Cloth_DR_Main SET  Comper=null,CompTime=null, status=''9'' ');
            sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
            execsql;
          end;
        end;
        next;
      end;
      First;
      EnableControls;
    end;
    InitGrid();
    application.MessageBox('操作成功！', '提示信息');
  except
    application.MessageBox('操作失败！', '提示信息', 0);
  end;
end;

procedure TfrmTradeDeliveryRequest.ToolButton6Click(Sender: TObject);
begin
  WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理');
  WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理');
end;

procedure TfrmTradeDeliveryRequest.btnWCClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    exit;
  try
    with Order_Main do
    begin
      DisableControls;
      First;
      while not eof do
      begin
        if fieldbyname('SSel').AsBoolean then
        begin
          with ADOQueryCmd do
          begin
            close;
            sql.Clear;
            sql.Add('update  Trade_Cloth_DR_Main SET  Comper=''' + Trim(DName) + ''',CompTime=getdate(), status=''10'' ');
            sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString)));
            execsql;
          end;
        end;
        next;
      end;
      EnableControls;
    end;
    InitGrid();
    application.MessageBox('操作成功！', '提示信息');
  except
    application.MessageBox('操作失败！', '提示信息', 0);
  end;
end;

procedure TfrmTradeDeliveryRequest.Tv1Column9PropertiesEditValueChanged(Sender: TObject);
var
  mvalue, FFieldName: string;
begin
  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);

  if mvalue = '' then
  begin
    with ADOQueryCmd do
    begin
      Close;
      SQL.Clear;
      sql.Add('update Trade_Cloth_DR_Main set  ' + FFieldName + '=' + 'NULL');
      sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
      ExecSQL;
    end;
  end
  else
  begin
    with Order_Main do
    begin
      Edit;
      FieldByName(FFieldName).Value := mvalue;
      Post;
    end;

    with ADOQueryCmd do
    begin
      Close;
      SQL.Clear;
      sql.Add('update Trade_Cloth_DR_Main set  ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
      sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
      ExecSQL;
    end;
  end;

  tv1.Controller.EditingController.ShowEdit();
end;

procedure TfrmTradeDeliveryRequest.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
  InitSubGrid();
end;

procedure TfrmTradeDeliveryRequest.v1Column7PropertiesEditValueChanged(Sender: TObject);
var
  mvalue, FFieldName: string;
begin
  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
  with Order_Main do
  begin
    Edit;
    FieldByName(FFieldName).Value := mvalue;
    Post;

  end;

  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('update Trade_Cloth_DR_Main set  ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
    sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
    ExecSQL;
  end;
  tv1.Controller.EditingController.ShowEdit();
end;

end.

