Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Stop scrolling in a form with scroll wheel?

Featured Replies

Hello,

I was wondering if there is a way to stop scrolling with the mouse wheel in windows. I have a Project->Tasks relation (1-M). I have the project data at the top and a portal at the bottom, which shows the descriptions of the tasks. I then click on a Task in the portal and (using go to related record) it takes me to a tasksDetail_Layout, which shows all the good details.

The problem is, if i have a mouse wheel, while in that view, i can scroll the wheel and it will take me to other tasks. I'd like to have a way to keep from going to any other tasks when using the wheel.

Once i have finished viewing the task and maybe editing it, I want to jump back to the Projecects/tasks view and still be on the project related. I'm using go to related record and this seems to work fine.

any suggestions would be appreciated.

Thanks,

Sincerely,

J__

Try disabling the wheel in the OS setup.

  • Author

Hi,

Thanks for the response. Good idea.

I was kind of hoping there might be some way to do it just for Filemaker.

i could see a way to hook it with a c++ dll in Windows XP (yes my sig says mac, but I do windows too); but with Apple, i don't know about using hooks in that environment (yet).

thanks,

Sincerely,

J__

/./

It would seem to me that disabling the scroll wheel at the operating system level is akin to using a shotgun to swat a fly. The scroll wheel is a very useful feature on Windows machines, and to expect users to disable something useful because you have a screen that doesn't work right with it is the wrong approach to take.

The problem (as I understand it) is that when the user gets to the Task layout, they can scroll through other tasks. Yes? If so, then the real solution is to find a way to limit the new layout so that it only displays the task or tasks you want them to see. I imagine two possibilities:

1) Use Go To Related Record and limit to related records only. That way, you'll get the tasks linked to the current parent record.

2) Build a script where you write the selected Task ID into a global field, then go to a layout that uses a relationship from the global field to the task ID. Then, the result list consists of a single record, and the scroll wheel will do nothing. AND, you r clients can use the scroll wheel elsewhere on their machines.

  • Author

T-Square, thanks for the response.

Although Transpower did make an interesting suggestion, yeh, the layout was a problem.

I used a find

one interesting thing though is that if you are trying to filter a new record, it's pretty hard because the record has not been committed yet. So, using the PK to filter on didn't work i wound up comitting the record... and that changed everything... so far it looks like for the better.

from my project form i pass in the prj_id (PK) of table. I then

created a record, saved it, grabbed the UID of the record, popped it in the global and then did go to layout with that current record.

I tried go to related record, but .... oh are you saying to put the PK of the task in the global project, so then they are joined on that and only get one record ?

if so, interesting approach.

I'll have to sleep on that.

thanks,

sincerely,

J__

Yeah, in my experience, the commit record step is pretty much a given in 7.

Another idea that I just remembered using: if you use a script to go to the sub-layout, pass the current ID to the script and then insert the script parameter into a find sequence. In other words (and excuse my pseudo code):

MyScript:

New Window["Sub-Layout"]

Go To Layout["Sub-Layout"]

Enter Find Mode[]

Set Field["MySearchField"; Get(ScriptParameter)]

Perform Find[No Dialog]

This method is nice because you don't have a global field that can get screwed up.

HTH,

David

Hi J..., everyone,

No. Don't disable it from your OS.

Admittedly I just woke up, not even coffee yet, but if I read your request correctly ...

If all you want to do is disable the scroll on your mouse in windows so it doesn't move a User through form records, execute the script-step Show/Hide Status Area [ Lock; Hide]. Add this script-step to just your layout-switch scripts or you can even include this as part of your file startup routine. But you're a Mac, right? I don't believe it matters; that this will work in both environments - but it certainly works with Windows!!

If you use your Status Area, you're in trouble. And yes, scroll is a problem with form layouts because a User may not notice they've scrolled to a different record, thus changing information on the wrong record. Many have heavy mouse hands or sloppy mouse control and scroll it purely by accident. I always hide/lock it.

Well, now for coffee ...

LaRetta smile.gif

How about a new relationship; one that only shows the record in question as it relates to your global field. The layout would only show one record and so there would be nothing to scroll to...

  • 3 months later...

Or, yet another idea - Once you're at the layout & record you need, omit the record, and then show only ommitted records. That way, there is only one record in the found set.

This works especially handy of you're using multiple windows, since each window has it's own found set of records.

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.