Subject Re: how to link a entryfield when using brows
From AGOSTINHO <AGOSTINHOTEIXEIRA@YAHOO.COM>
Date Wed, 02 Mar 2022 21:19:46 -0500
Newsgroups dbase.getting-started

Ken Mayer thank you very much for your advice
Mervyn thank you for the sample bellow.
Agostinho


Mervyn Bick Wrote:

> On 2022/03/02 06:31, Ken Mayer wrote:
>
> > I don't think you can. Weird. I did some experimenting and can't find a
> > way to do that. You *really* need to learn the modern way of working
> > with dBASE. Drag a table to the form from the Navigator, and work from
> > there (or for more complex forms, use a data module) ...
>
> I depends on what Agostinho wants to do.
>
> If he wants to show the value of each field of the selected record in a
> separate entryfield then yes.  Example attached.
>
> If he wants to show just the value in the field he's clicked on in the
> browser in a single entryfield then no, it can't be done using XDML.
> This is, however, quite straightforward using OODML.  Example attached.
>
> Mervyn.
> ** END HEADER -- do not remove this line
> //
> // Generated on 2022-03-02
> //
> parameter bModal
> local f
> f = new browserForm()
> if (bModal)
>    f.mdi = false // ensure not MDI
>    f.readModal()
> else
>    f.open()
> endif
>
> class browserForm of FORM
>    with (this)
>       onOpen = class::FORM_ONOPEN
>       onClose = class::FORM_ONCLOSE
>       height = 18.0455
>       left = 31.1429
>       top = 0.5909
>       width = 145.4286
>       text = ""
>       view = ":DBASESAMPLES:fish.dbf"
>    endwith
>
>    this.BROWSE1 = new BROWSE(this)
>    with (this.BROWSE1)
>       onLeftMouseUp = class::BROWSE1_ONLEFTMOUSEUP
>       height = 10.5909
>       left = 7.8571
>       top = 2.7727
>       width = 121.0
>       alias = "FISH"
>    endwith
>
>    this.ENTRYFIELD1 = new ENTRYFIELD(this)
>    with (this.ENTRYFIELD1)
>       height = 1.0
>       left = 27.7143
>       top = 15.0909
>       width = 41.1429
>       value = "Entryfield1"
>    endwith
>
>    this.ENTRYFIELD2 = new ENTRYFIELD(this)
>    with (this.ENTRYFIELD2)
>       height = 1.0
>       left = 71.1429
>       top = 15.0909
>       width = 52.8571
>       value = "Entryfield2"
>    endwith
>
>    this.ENTRYFIELD3 = new ENTRYFIELD(this)
>    with (this.ENTRYFIELD3)
>       height = 1.0
>       left = 13.0
>       top = 15.0909
>       width = 9.2857
>       value = "Entryfield3"
>    endwith
>
>
>    function BROWSE1_onLeftMouseUp(flags, col, row)
>       form.entryfield1.value = name
>       form.entryfield2.value = species
>       form.entryfield3.value = id
>       return
>
>
>    function form_onClose()
>       use
>       return
>
>    function form_onOpen()
>       form.entryfield1.value = name
>       form.entryfield2.value = species
>       form.entryfield3.value = id
>       return
>
> endclass
>
> ** END HEADER -- do not remove this line
> //
> // Generated on 2022-03-02
> //
> parameter bModal
> local f
> f = new browser1Form()
> if (bModal)
>    f.mdi = false // ensure not MDI
>    f.readModal()
> else
>    f.open()
> endif
>
> class browser1Form of FORM
>    with (this)
>       onOpen = class::FORM_ONOPEN
>       height = 16.0
>       left = 35.1429
>       top = 1.6364
>       width = 127.4286
>       text = ""
>    endwith
>
>    this.DBASESAMPLES1 = new DATABASE(this)
>    with (this.DBASESAMPLES1)
>       left = 15.0
>       top = 1.0
>       width = 11.0
>       height = 1.0
>       databaseName = "DBASESAMPLES"
>       active = true
>    endwith
>
>    this.FISH1 = new QUERY(this)
>    with (this.FISH1)
>       left = 16.0
>       top = 1.0
>       width = 3.0
>       height = 1.0
>       database = form.dbasesamples1
>       sql = "select * from FISH.DBF"
>       active = true
>    endwith
>
>    this.GRID1 = new GRID(this)
>    with (this.GRID1)
>       onLeftMouseUp = class::GRID1_ONLEFTMOUSEUP
>       dataLink = form.fish1.rowset
>       columns["COLUMN1"] = new GRIDCOLUMN(form.GRID1)
>       with (columns["COLUMN1"])
>          dataLink = form.fish1.rowset.fields["id"]
>          editorType = 1        // EntryField
>          width = 15.7143
>       endwith
>       columns["COLUMN2"] = new GRIDCOLUMN(form.GRID1)
>       with (columns["COLUMN2"])
>          dataLink = form.fish1.rowset.fields["name"]
>          editorType = 1        // EntryField
>          width = 42.8571
>       endwith
>       columns["COLUMN3"] = new GRIDCOLUMN(form.GRID1)
>       with (columns["COLUMN3"])
>          dataLink = form.fish1.rowset.fields["species"]
>          editorType = 1        // EntryField
>          width = 57.1429
>       endwith
>       columns["COLUMN4"] = new GRIDCOLUMN(form.GRID1)
>       with (columns["COLUMN4"])
>          dataLink = form.fish1.rowset.fields["length cm"]
>          editorType = 3        // SpinBox
>          width = 14.2857
>       endwith
>       columns["COLUMN5"] = new GRIDCOLUMN(form.GRID1)
>       with (columns["COLUMN5"])
>          dataLink = form.fish1.rowset.fields["description"]
>          editorType = 5        // Editor
>          width = 28.5714
>       endwith
>       with (columns["COLUMN1"].headingControl)
>          value = "ID"
>       endwith
>
>       with (columns["COLUMN2"].headingControl)
>          value = "Name"
>       endwith
>
>       with (columns["COLUMN3"].headingControl)
>          value = "Species"
>       endwith
>
>       with (columns["COLUMN4"].editorControl)
>          rangeMax = 100
>          rangeMin = 1
>       endwith
>
>       with (columns["COLUMN4"].headingControl)
>          value = "Length CM"
>       endwith
>
>       with (columns["COLUMN5"].headingControl)
>          value = "Description"
>       endwith
>
>       height = 8.0909
>       left = 6.4286
>       top = 4.0909
>       width = 114.2857
>    endwith
>
>    this.ENTRYFIELD1 = new ENTRYFIELD(this)
>    with (this.ENTRYFIELD1)
>       height = 1.0
>       left = 40.7143
>       top = 13.0909
>       width = 49.7143
>       value = "Entryfield1"
>    endwith
>
>    this.TEXTLABEL1 = new TEXTLABEL(this)
>    with (this.TEXTLABEL1)
>       height = 1.0
>       left = 27.8571
>       top = 13.2727
>       width = 12.0
>       text = "Textlabel1"
>    endwith
>
>    this.rowset = this.fish1.rowset
>
>    function GRID1_onLeftMouseUp(flags, col, row)
>       cmd = 'form.entryfield1.value =  form.grid1.columns["column'+form.grid1.currentcolumn+'"].datalink.value'
>       &cmd
>       cmd = 'form.textlabel1.text =  form.grid1.columns["column'+form.grid1.currentcolumn+'"].headingcontrol.value'
>       &cmd
>       return
>
>    function form_onOpen()
>       cmd = 'form.entryfield1.value =  form.grid1.columns["column'+form.grid1.currentcolumn+'"].datalink.value'
>       &cmd
>       cmd = 'form.textlabel1.text =  form.grid1.columns["column'+form.grid1.currentcolumn+'"].headingcontrol.value'
>       &cmd
>       return
>
> endclass
>