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