Usage of CurrPage.SetSelectionFilter()

rcverbeek
Member Posts: 32
Hi,
I have got a question about this standard C/AL code. It is in Page 132 (Posted Sales Invoice):
What is the first line of code doing here? It kind of looks like its selectiong only the current record. But if so, why not replace the three lines of code with a single line
Thanks!
I have got a question about this standard C/AL code. It is in Page 132 (Posted Sales Invoice):
SalesInvHeader := Rec; CurrPage.SETSELECTIONFILTER(SalesInvHeader); SalesInvHeader.PrintRecords(TRUE);
What is the first line of code doing here? It kind of looks like its selectiong only the current record. But if so, why not replace the three lines of code with a single line
PrintRecords(TRUE)
Thanks!
0
Best Answer
-
Hello rcverbeek,
only PrintRecords(TRUE) shouldn't work, because u need to apply a filter. That's why you use SETSELECTIONFILTER.
See here:
-> https://docs.microsoft.com/en-us/dynamics-nav/setselectionfilter-function
If you use CurrPage.SETSELECTIONFILTER(Rec), the filter is applied to Rec. So you can't, for example, jump to the next or previous record, because a filter is applied.
The same function should be used in the Page "Posted Sales Invoices (143)".
If you useCurrpage.SETSELECTIONFILTER(Rec); PrintRecords(TRUE);
The List shows only the selected Records after you trigger that code. You should see that a filter is applied.5
Answers
-
Hello rcverbeek,
only PrintRecords(TRUE) shouldn't work, because u need to apply a filter. That's why you use SETSELECTIONFILTER.
See here:
-> https://docs.microsoft.com/en-us/dynamics-nav/setselectionfilter-function
If you use CurrPage.SETSELECTIONFILTER(Rec), the filter is applied to Rec. So you can't, for example, jump to the next or previous record, because a filter is applied.
The same function should be used in the Page "Posted Sales Invoices (143)".
If you useCurrpage.SETSELECTIONFILTER(Rec); PrintRecords(TRUE);
The List shows only the selected Records after you trigger that code. You should see that a filter is applied.5 -
Thanks Aluan, this makes sense!0
-
Currpage.SETSELECTIONFILTER(Rec) is same as Record.SETRECFILTER;
It gives you all the filters that is manually selected by the user!Thanks
Blog - rockwithnav.wordpress.com/
Twitter - https://twitter.com/RockwithNav
Facebook - https://facebook.com/rockwithnav/0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions