filter question
Phil Davis
davis.phil at comcast.net
Tue Mar 14 18:39:56 EST 2006
Chris Sheffield wrote:
> I'm not really 100% sure to be honest. I think it's because in my case
> I have to account for filtering with only a partial string. So for
> example, if my user enters "a", the filter needs to return any records
> where say the third item of each line begins with "a".
Right. That's where my solution breaks down. It assumes that the
"Filter" field is always complete before filtering occurs.
I wonder if it would work with the addition of "*" at both ends of the
Filter field? I don't see why that wouldn't work - then the filter will
only be looking for a string of contiguous chars in that item of each
line, rather than requiring the item to start or end with the chars.
Phil Davis
> Because Phil's solution uses tabs around the filter string (tab & fld
> "filter" & tab), it doesn't work quite right for me. I tried a couple
> different modifications, including placing *'s between the filter
> string and the tabs, to make it work for me but couldn't find anything
> that worked in all cases.
>
> Hope that provides you with a little more information.
>
> Chris
>
>
> On Mar 14, 2006, at 12:25 PM, Jim Ault wrote:
>
>> Hey, Chris,
>>
>> I know you probably don't have the time, but I am wondering why Phil's
>> solution did not work. I use the filter command all the time and
>> Phil had
>> the correct syntax and useage, as far as I could see.
>>
>> Mostly just curiosity to find exceptions or tricky problems for future
>> reference. Surprised it did not work.
>>
>> Thanks,
>> Jim Ault
>> Las Vegas
>>
>>
>> On 3/14/06 11:01 AM, "Chris Sheffield" <cmsheffield at gmail.com> wrote:
>>
>>> Thanks, Sarah. I ended up going with a solution similar to this to
>>> get the job done. I thought Phil's suggestion would have worked, and
>>> that's what I was trying to do, but unfortunately it didn't.
>>>
>>> But thanks to all who responded.
>>>
>>> Chris
>>>
>>>
>>> On Mar 13, 2006, at 5:08 PM, Sarah Reichelt wrote:
>>>
>>>> It might be faster to filter the list simply to reduce it to lines
>>>> that contain the filter string anywhere, and then do a loop to check
>>>> if the filter string is in the correct item.
>>>>
>>>> -- gather the original data and the required settings
>>>> put fld "List" into tList
>>>> put fld "Filter into Filter
>>>> put 3 into tItemNum
>>>>
>>>> -- do the first filter to reduce the list
>>>> filter tList with "*" & tFilter & "*"
>>>>
>>>> -- loop through making sure it appears in the right item
>>>> put empty into tMatches
>>>> repeat for each line L in tList
>>>> if item tItemNum of L contains tFilter then put L & cr after
>>>> tMatches
>>>> end repeat
>>>>
>>>> -- remove the trailing cr
>>>> delete last char of tMatches
>>>>
>>>> -- display the matching results
>>>> put tMatches into fld "Results"
>>>>
>>>> Sarah
>>>>
>>>> On 3/14/06, Phil Davis <davis.phil at comcast.net> wrote:
>>>>
>>>>> Hi Chris,
>>>>>
>>>>> To filter on column 3, are you using something like this?
>>>>>
>>>>> put fld "list" into tList
>>>>> filter tList \
>>>>> with "*" & tab & "*" & tab & fld "filter" & tab & "*"
>>>>> put tList into fld "list"
>>>>>
>>>>> Phil Davis
>>>>>
>>>>>
>>>>> Chris Sheffield wrote:
>>>>>
>>>>>> I'm trying to apply a filter to a list field. The columns of
>>>>>> the field
>>>>>> are tab delimited. I have a separate "filter" field that allows
>>>>>> the
>>>>>> user to apply a filter to the list based on whichever column is the
>>>>>> current sort column. I can get the filter to work fine so long
>>>>>> as the
>>>>>> first column is selected, but anything else does not work.
>>>>>>
>>>>>> How can I apply a filter to a list based on say item 3 of each
>>>>>> line of
>>>>>> that list? Is that possible?
>>>>>>
>>>>>> Thanks,
>>>>>> Chris
More information about the use-livecode
mailing list