Forum > Packages and Libraries

DbGrid or RXDBGRID how i validate and let edit if other column is true

(1/1)

eldonfsr:
How i can let the user input a data on colomn  if other column has  true value ...

 if( (ColName='orderqty')  and (BDPStock.FieldByName('Selected').AsBoolean=false)) then begin
     BDPStock.edit   ;
     BDPStock.FieldByName('OrderQty').AsInteger:=0;
     BDPStock.post;
     RxDBGProdUs.SelectedIndex:=8;
   end else if( (ColName='orderqty')  and (BDPStock.FieldByName('Selected').AsBoolean=true)) then begin
    BDPStock.edit   ;
   end; 

on what event i can do that ...

eldonfsr:
I made some changes on my program and working now could the best option but is working..


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} --- procedure TFormUndMinStk.RxDBGPordUsCellClick(Column: TColumn);begin  if((RxDBGPordUs.SelectedIndex = 10) and (RxDBGPordUs.DataSource.DataSet.FieldByName('Selected').AsBoolean = false) ) then begin      RxDBGPordUs.DataSource.DataSet.Edit;      RxDBGPordUs.SelectedIndex:=0;  end else if((RxDBGPordUs.SelectedIndex = 10) and (RxDBGPordUs.DataSource.DataSet.FieldByName('Selected').AsBoolean = true)) then  begin    RxDBGPordUs.DataSource.DataSet.Edit;    RxDBGPordUs.SelectedIndex:=7;  end;end; procedure TFormUndMinStk.RxDBGPordUsColEnter(Sender: TObject);begin    if((RxDBGPordUs.SelectedIndex = 7) and ( FormMain.BDPStock.FieldByName('Selected').AsBoolean =false))   then begin       ShowMessage('this row is not seleted to have order quantity');       RxDBGPordUs.SelectedIndex:=6;    end else if((RxDBGPordUs.SelectedIndex = 7) and ( FormMain.BDPStock.FieldByName('Selected').AsBoolean=true)) then begin       RxDBGPordUs.DataSource.DataSet.Edit;    end;    if((RxDBGPordUs.SelectedIndex = 8)) then begin       if( RxDBGPordUs.DataSource.DataSet.FieldByName('Orddate').isNull) then begin          RxDBGPordUs.DataSource.DataSet.Edit;          RxDBGPordUs.DataSource.DataSet.FieldByName('Orddate').AsDateTime := now;       end;    end;    RxDBGPordUs.setfocus;end; procedure TFormUndMinStk.RxDBGPordUsColExit(Sender: TObject);begin    if((RxDBGPordUs.SelectedIndex = 7) and ( FormMain.BDPStock.FieldByName('orderqty').AsInteger < FormMain.BDPStock.FieldByName('pnminstockqty').AsInteger ))   then begin       ShowMessage('Quantity must great than minimum stock or at least same value');       RxDBGPordUs.DataSource.DataSet.Edit;       FormMain.BDPStock.FieldByName('orderqty').AsInteger:=0;       RxDBGPordUs.DataSource.DataSet.post;       RxDBGPordUs.setfocus;       RxDBGPordUs.DataSource.DataSet.Edit;       RxDBGPordUs.SelectedIndex:=6;    end else if((RxDBGPordUs.SelectedIndex = 7) and ( FormMain.BDPStock.FieldByName('orderqty').AsInteger > FormMain.BDPStock.FieldByName('pnminstockqty').AsInteger ) ) then begin       RxDBGPordUs.DataSource.DataSet.Post;       RxDBGPordUs.DataSource.DataSet.Edit;       RxDBGPordUs.setfocus;     end;    if((RxDBGPordUs.SelectedIndex = 8)) then begin        if( RxDBGPordUs.DataSource.DataSet.FieldByName('Orddate').AsDateTime = StrtoDate('01/01/1990')) then begin          RxDBGPordUs.DataSource.DataSet.Edit;          RxDBGPordUs.DataSource.DataSet.FieldByName('Orddate').AsDateTime := Now;          RxDBGPordUs.DataSource.DataSet.Post;        end;        RxDBGPordUs.DataSource.DataSet.Edit;        RxDBGPordUs.setfocus;    end;    if((RxDBGPordUs.SelectedIndex = 9)) then begin         if( RxDBGPordUs.DataSource.DataSet.FieldByName('dateuse').AsDateTime < Now) then begin          ShowMessage('Date use can be older than to day , type a date post of current date');           RxDBGPordUs.DataSource.DataSet.Edit;           RxDBGPordUs.DataSource.DataSet.FieldByName('dateuse').AsDateTime := Now;         end;         RxDBGPordUs.DataSource.DataSet.Post;         RxDBGPordUs.DataSource.DataSet.Edit;         RxDBGPordUs.setfocus;     end; End;   

Navigation

[0] Message Index

Go to full version