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