Subject |
Re: Rowset Navigation |
From |
Mustansir Ghor <mustan31@hotmail.com> |
Date |
Sun, 23 Jun 2019 10:52:25 -0400 |
Newsgroups |
dbase.getting-started |
Dear All
Problem Solved. I had to requery() the qlabrest.
Thanks
Mustansir
Mustansir Ghor Wrote:
> Dear All
>
> Consider the below syntax
>
> this.QLABRESG = new QUERY(this)
> with (this.QLABRESG)
> left = 150.0
> database = form.dopd
> sql = "select l.sno,l.item,r.resulty from labres l join laborat r on l.item=r.code where l.resultc is null and l.resultm is null and r.machine=:tmachine "
> params["tmachine"] = ""
> active = true
> endwith
>
> with (this.QLABRESG.rowset)
> onNavigate = class::ROWSET_ONNAVIGATE
> endwith
>
>
>
> this.QLABREST = new QUERY(this)
> with (this.QLABREST)
> left = 150.0
> database = form.dopd
> sql = "select * from labres where sno=:sno and item=:item "
> params["sno"] = ""
> params["item"] = ""
> masterSource = form.qlabresg.rowset
> active = true
> endwith
>
> with (this.QLABREST.rowset)
> indexName = "sno"
> endwith
>
>
> function rowset_onNavigate(type, nRows)
> local mresultc,mresultm
> gref = this.parent.parent
> gref.lbtestname.text="R.No"+this.fields["sno"].value
> gref.etext.visible=false
> gref.cblogical.visible=false
> gref.EDmemo.visible=false
> gref.etext.enabled=true
> gref.cblogical.enabled=true
> gref.EDmemo.enabled=true
> gref.lbunit.visible=false
> mresultc=''
> mresultm=''
>
>
> mresultc = gref.qlabrest.rowset.fields["resultc"].value
> mresultm = gref.qlabrest.rowset.fields["resultm"].value
> ?mresultc,mresultm
> do case
> case gref.qlabresg.rowset.fields["resulty"].value="M"
> gref.EDmemo.visible=true
> if empty(mresultm)
> gref.edmemo.value=""
> gref.edmemo.setfocus()
> else
> gref.edmemo.value = mresultm
> gref.edmemo.enabled=false
> endif
>
> case gref.qlabresg.rowset.fields["resulty"].value="L"
> gref.cblogical.visible=TRUE
> if empty(mresultc)
> gref.cblogical.value=""
> gref.cblogical.setfocus()
> else
> gref.cblogical.value = mresultc
> gref.cblogical.enabled=false
> endif
>
> case gref.qlabresg.rowset.fields["resulty"].value="N"
> gref.lbunit.text=this.fields["unit"].value
> gref.lbunit.visible=true
> gref.etext.visible=true
> if empty(mresultc)
> gref.etext.value=0.000
> gref.etext.setfocus()
> else
> gref.etext.value=ltrim(mresultc)
> gref.etext.enabled=false
> endif
>
> endcase
>
> return
>
> In the above syntax all works well except one issue. the mresultc,mresultm which takes data from qlabrest (I verified with ? in command window) but when is is stored in appropiate control, the control displays data from the previous record.
>
> to reconfirm the content I even displayed qlabrest in the grid.
>
> Can anybody point the error. May I have misconception of mastersource.
>
> Best REgards
> Mustansir
|
|