{{tag>category:"OpenInsight 64-bit" author:"Dave Sigafoos" author:"Carl Pates"}}
[[https://www.revelation.com/the-works|Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community]]
==== How to Sort a table .. (OpenInsight 64-bit) ====
=== At 13 FEB 2020 11:39:37PM Dave Sigafoos wrote: ===
Using the document found at https://revdevx.com/2015/09/26/sorting-in-edittables/
I would think that the following code would work correctly. It Sorts but the shiftkey bit does not change the sort order
Declare Function Get_Property
Declare Subroutine Exec_Method
Equ NULL$ To ""
ColRow = Get_Property(ctrlEntId,"NOTIFYPOS")
row = ColRow<2> ; col = ColRow<1>
sortOptions = NULL$
sortCriteria = NULL$ ; sortCriteria<1,1,1> = col
* change sort order if shift key is pressed
If ShiftKey Then sortCriteria<1,1,2> = 1
Call Exec_Method( CtrlEntID, "SORT", SortCriteria, SortOptions )
return 1
----
=== At 13 FEB 2020 11:46PM Dave Sigafoos wrote: ===
actually this line
If ShiftKey Then sortCriteria<1,1,2> = 1
should be ..
If ShiftKey Then sortCriteria<1,2,1> = 1
But even at that ... the little arrow changes direction but the data doesn't change
----
=== At 14 FEB 2020 06:26PM Dave Sigafoos wrote: ===
Can someone please try this and let me know where I went wrong. I doubt that the article
is wrong ... Carl doesn't make mistakes. He leaves that for me :)
----
=== At 14 FEB 2020 08:31PM Carl Pates wrote: ===
Ha - if only that were true :)
Are you wanting to [i]toggle[/i] the sort order or force it to Ascending Left?
Setting <0,2> always sets a [i]specific[/i] order, so if you're setting it to "1" you will[i] always[/i] sort "Ascending Left" - it won't "toggle" to "Descending Left" instead automatically.
You can "toggle" if you use the COLHEADERSORTINGMODE property, but that doesn't use a shift key, it just works on column header clicks/dblclks
What is it that you actually need to do?
Cheers
[email=cpates@revsoft.co.uk]Carl Pates[/email]
----
=== At 15 FEB 2020 11:11AM Dave Sigafoos wrote: ===
so what the original code did was (this is also for the send_message topic) get the row/column that was clicked (notifyPos does this nicely) then sort the table either descending (dclick) or ascending (shift dclick). SO I am trying to duplicate this with the code. But when I use the code above it does not change sort order. It does the first sort (dclick) but ignores the second sort EXCEPT the little sort arrows change.
----
=== At 15 FEB 2020 11:11AM Dave Sigafoos wrote: ===
so what the original code did was (this is also for the send_message topic) get the row/column that was clicked (notifyPos does this nicely) then sort the table either descending (dclick) or ascending (shift dclick). SO I am trying to duplicate this with the code. But when I use the code above it does not change sort order. It does the first sort (dclick) but ignores the second sort EXCEPT the little sort arrows change.
----
=== At 17 FEB 2020 02:08PM Dave Sigafoos wrote: ===
Carl, i have sent you a copy of the original code so you can see what I am trying to achieve ..
----
=== At 18 FEB 2020 05:31AM Carl Pates wrote: ===
Hi Dave,
Using the CellDblCk event something like this should do what you need:
// Is it the col header row?
if ( rowNum == 0 ) then
// Is it a data column?
if ( colNum > 0 ) then
sortCrit = ""
sortCrit<0,1> = colNum
sortCrit<0,2> = ( if shiftKey then 1 else 0 )
call exec_Method( ctrlEntID, "SORT", sortCrit, 0 )
end
end
[email=cpates@revsoft.co.uk]Carl Pates[/email]
----
=== At 18 FEB 2020 10:40AM Dave Sigafoos wrote: ===
I think it was this line that was missing from mine and I can't find it mentioned in your article ..
call exec_Method( ctrlEntID, "SORT", sortCrit, 0 )
Thanks a lot ..
----
=== At 18 FEB 2020 10:58AM Carl Pates wrote: ===
Hi Dave,
Its documented in the section titled The Sort Method, but there's no code example as such.
Cheers
[email=cpates@revsoft.co.uk]Carl Pates[/email]
----
=== At 18 FEB 2020 11:08AM Dave Sigafoos wrote: ===
thanks again .. sorry i took so much of your time.
----
=== At 18 FEB 2020 11:13AM Carl Pates wrote: ===
Not a problem, but you might owe me a JD when I see you again :)
[email=cpates@revsoft.co.uk]Carl Pates[/email]
----
=== At 18 FEB 2020 12:04PM Dave Sigafoos wrote: ===
:smile: Always ...
[[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=WORKS_READ&SUMMARY=1&KEY=FA6FC14515D86C49A187949E0A34DFA8|View this thread on the Works forum...]]