Subject Re: Changing value of speedTip
From Milind Nighojkar <milinigh@yahoo.com>
Date Fri, 10 Dec 2021 12:23:13 -0500
Newsgroups dbase.getting-started

Hi Mervyn,

I tried to construct the syntax...however it seems my understaning is poor...

I have given form code in Ken's message ....

Regards
Milind Nighojkar

Mervyn Bick Wrote:

> On 2021/12/09 19:55, Milind Nighojkar wrote:
> > Hi Ken,
> >
> > I wrote code as below for a grid. Not able to see the change in speedtip based on the field value
> >
> > ****************
> >   function rowset_onNavigate(type, nRows)
> >        if this.fields["emp_active"].value = false
> >           this.CanEdit := false
> >        else
> >           this.fields["name"].speedtip = 'Changed Speedtip'
> >       endif
> >        return true
> > ****************
>
> A field does not have a built-in speedtip property.  See speedtip in the
> help file for a list of objects which do have a speedtip property.
>
> this.fields["name"].speedtip = 'Changed Speedtip' is creating a user
> defined property for the field but dBASE doesn't know what to do with it.
>
> A grid is an object that has a speedtip property and if the mouse is
> over any portion of a record displayed in the grid for more than one
> second the speedtip will display.
>
> No event handler associated with a query or a rowset understands the
> concept "form" so you can't use
>
> form.grid1.speedtip = 'Changed Speedtip'
>
> Try the following
>
> ****************
>   function rowset_onNavigate(type, nRows)
>        if this.fields["emp_active"].value = false
>           this.CanEdit := false
>        else
>           this.parent.parent.grid1.speedtip = 'Changed Speedtip'
>       endif
>        return true
> ****************
>
> In the the onNavigate event handler
>
> this  is the rowset
> this.parent   is the query
> this.parent.parent    is the form
>
>
> Mervyn.
>