Sorting Columns

JB sundown at pacifier.com
Wed Mar 4 07:27:35 EST 2015


:-Håkan,

Thank you for the link, the code
and instructions.

It will help a lot!

And thank you again to everyone
who replied.  It all helps me very
much and I really appreciate it.

John Balgenorth


On Mar 4, 2015, at 2:56 AM, Hakan at Exformedia.se wrote:

> There is a lession on how to format your display here:
> 
> http://lessons.runrev.com/m/datagrid/l/7327-how-do-i-override-the-default-behavior-for-rendering-data-to-a-cell
> 
> In short you need to override the default behavior of the datagrid column:
> 
> 1. Create a new button and select it
> 2. Copy the default behavior script to your button via:
>    set the script of the selectedobject to the script of button "Default Column" of stack "revDataGridLibrary"
> 3. Tell the datagrid to use your behavior instead via:
>   set the dgProps["default column behavior"] of group "Your data grid" to the long id of the selectedObject
> 4. Edit the script of your button
> 
> What you need look for is the fillInData function
> 
> Let say you want to display your big sales number as $ 1.000.000 (but still have the value saved as 1000000) you can change fillInData to
> 
> on FillInData pData
>   set the text of me to formatNumber(pData, ",", ".", "$ ")
> end FillInData
> 
> Then you only need to add the formatNumber function...
> 
> function formatNumber pNum, pSeparator, pCommaSign, pPrefix, pPostfix
>   local tIsNegative, tRest, tCommaPos
>   if pNum < 0 then
>      put abs(pNum) into pNum
>      put true into tIsNegative
>   end if
>   put offset(pCommaSign, pNum) into tCommaPos
>   if tCommaPos > 0 then
>      put char tCommaPos to -1 of pNum into tRest
>   end if
>   put char 1 to tCommaPos -1 of pNum into pNum
>   repeat with i = length(pNum)-3 to 3 step -3
>      put pSeparator before char i+1 of pNum
>   end repeat
>   if tIsNegative then
>      return pPrefix & "-" &  pNum & tRest & pPostfix
>   else
>      return pPrefix & pNum & tRest & pPostfix
>   end if
> end formatNumber
> 
> Finally if you just want to target a specific column for your formatting you can use the dgColumn property (or dgColumnNumber) to ensure you only format specific columns
> 
> Let's say you have a column named "Value" that you would like to format but no other columns you can change fillInData to:
> 
> on FillInData pData
>   put the dgColumn of me into tCol
>   if tCol is "Value" then
>      set the text of me to formatNumber(pData, " ", ".", "$ ")
>   else
>      set the text of me to pData
>   end if
> end FillInData
> 
> Happy Coding!
> 
> :-Håkan
> 
>> Bob Sneidar <mailto:bobsneidar at iotecdigital.com>
>> 4 mars 2015 01:13
>> dgData returns an array. dgText returns delimited text. if the commas are thousand delimiters, then strip them. I’ve often thought of trying to implement a “displayAs functionality for Datagrids, like Excel does, where the value is one thing but the display is another. Your situation really underscores the need for this.
>> 
>> Bob S
>> 
>> 
>> On Mar 3, 2015, at 06:18 , dunbarx at aol.com<mailto:dunbarx at aol.com> wrote:
>> 
>> An easy way is to extract the full dataset, perhaps with the "dgData". This will give you a tab and return delimited list. Then you might sort by a function:
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> dunbarx at aol.com <mailto:dunbarx at aol.com>
>> 3 mars 2015 15:18
>> An easy way is to extract the full dataset, perhaps with the "dgData". This will give you a tab and return delimited list. Then you might sort by a function:
>> 
>> 
>> sort yourData numeric by goodNumber(item columnOfInterest of each)
>> 
>> 
>> where:
>> 
>> 
>> function goodNumber var
>> repeat for each char tChar in var
>> if var is in "0123456789" then put tChar after temp
>> end repeat
>> return temp
>> end goodNumber
>> 
>> 
>> Craig Newman
>> 
>> 
>> 
>> -----Original Message-----
>> From: JB <sundown at pacifier.com>
>> To: How to use LiveCode <use-livecode at lists.runrev.com>
>> Sent: Tue, Mar 3, 2015 6:33 am
>> Subject: Sorting Columns
>> 
>> 
>> I have a data grid and one of the columns
>> has numbers with commas included. If I
>> use the property inspector and select the
>> header column I can choose sort by text
>> or numeric. Due to the commas neither
>> of the sort types gives me a correct sort.
>> 
>> Do I need to make another array and strip
>> the commas and then use that sort with
>> columns from the original array? What is
>> the best way to sort numeric columns with
>> commas included in the numbers?
>> 
>> John Balgenort
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> JB <mailto:sundown at pacifier.com>
>> 3 mars 2015 12:30
>> I have a data grid and one of the columns
>> has numbers with commas included. If I
>> use the property inspector and select the
>> header column I can choose sort by text
>> or numeric. Due to the commas neither
>> of the sort types gives me a correct sort.
>> 
>> Do I need to make another array and strip
>> the commas and then use that sort with
>> columns from the original array? What is
>> the best way to sort numeric columns with
>> commas included in the numbers?
>> 
>> John Balgenort
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 





More information about the use-livecode mailing list