Hello,
[Nav 5.01, TableBox tied to temporary table]
When I have on 1 form TableBox and MatrixBox I am not possible to filter multiple rows on TableBox.
I can mark multiple rows but only using Ctrl + Left Mouse Btn (they gets dark blue)
But when I use CurrForm.SETSELECTIONFILTER(Rec);
Only one row will be filtered.
After I delete MatrixBox from Form, everything works ok.
(I can mark rows also by clicking left btn and moving pointer down now.... in case above, this didn't work)
When I do this on Report RequestOptionsForm ... it works OK.
Can you help me with that ?
P.S. I can mark & filter rows on MatrixBox ... strange
P.S.2 You can try it easy by placing Tablebox on empty form, tie it to Item table (no need to be temporary) and try to mark rows. Then put MatrixBox below it (do not set anything, just place it) and try to mark ...
Thank you in advance
0
Comments
I've checked and noticed no problem. May there be a problem with your code?
Pargesoft
But I do not think , problem is in the code.
Just try it. As I said:
Create new form, place tablebox, set sourcetable for example: Item, In tablebox put "No_" column.
Place button and on onPush triger do: Currform.SETSELECTIONFILTER(Rec);
run it. And you can see that you can "multiselect" without problems and pressing button filters it correctly.
Then place matrixbox.
Do not set anything, just save and run.
And you will see the problem.
I really wish, problem is in some settings, but I am loosing hope :-(
Thank you
If you want you can share your object here and we can look what happens there.
Pargesoft
So I placed the object here: http://www.krc.sk/fob/f51001.fob
Here are some screenshots.
1. I am able tu multiselect only using Ctrl+mouse click
2. When I do SETSELECTIONFILTER, I will get this:
Rec includes only one record when you apply this filter. So it shows only one record. You can basically use two methods here:
Filter the record variable of your rec with the desired fields and then execute SETSELECTIONFILTER with this variable as:
or get the selected records on form by using the pre-existing GetSelectionFilter function on Item List form as:
Pargesoft
Can you explain how is it possible, that when I delete Matrixbox object, everything works OK
with my statement: CurrForm.SETSELECTIONFILTER(Rec) ?
It filters multiple rows and show mark sign ....
I do not think , Rec has only 1 record .... I think that marking records doesn't work properly .....
Problem also is that with MatrixBox I can not normally select that multiple rows.
By normally I mean, just point to row, click and hold left button and move pointer down.
Without MatrixBox it works
P.S. I have found out that also two Tableboxes are problem.
So, do you really need a tablebox on the form or can find a workaround solution?
Pargesoft
In Tablebox are main data and is used most of time.
All counts and filters I am doing here
Matrixbox data are based on Tablebox data.
And it's generated time to time ...
Both are temporary tables.
!!! I have found workaround, but in my case I lost a little bit of "user friendly design"
By my findings, the multiselect is possible on later/last generated object when u run the form
1. If u have just form, the multiselect works on "last inserted" object (tablebox,Matrixbox)... so you can first insert matrixbox, then tablebox, when designing
2. My case: If you have objects in TABCONTROL, multiselect works on control which is in most on the right ....
So I can move Matrix Tab so it is to the left of TabkleboxTAB, but it is quite strange .. I had it in order as user is generating data : Base filters, Analysis table, Matrix Table ...
Do an1 have another solution ?
P.S. Ther's another prob, even in this workaround. Changing VISIBILITY for "Rec.'source expression'" works for the object which is generated as first, so I will have to use extra names for all columns in Tablebox (Now I use Rec."source expression", but it takes action in matrixbox now) = You will probably not understand this explanation .. it's hard to explain when you didn't work with this .... don't worry