예제 #1
0
        public static void GetFilter(SearchQuery q, ItemAttribute ia, string text)
        {
            string filter = "";
            string pid = "";

            if (String.IsNullOrEmpty(text))
            {
                return;
            }

            pid = q.NextParamId;
            filter = BaseItem.FilterAnd(filter, UStr.FilterInt32("AttributeID", pid));
            q.SetParam(pid, ia.AttributeID);
            
            pid = q.NextParamId;
            filter = BaseItem.FilterOr(filter, UStr.FilterParam("Value", pid));
            q.SetParam(pid, UStr.Percent(text));

            if (String.IsNullOrEmpty(filter))
            {
                return;
            }

            filter = BaseItem.TrimOr(filter);

            q.AppendFilter(filter + "\n");
        } 
        public static void GetFilter(SearchQuery q, ItemAttribute ia, ListItemCollection items)
        {
            string filter = "";
            string pid = "";

            foreach (ListItem item in items)
            {
                if (item.Selected)
                {
                    pid = q.NextParamId;
                    filter = BaseItem.FilterOr(filter, UStr.FilterInt32("AttributeID", pid));
                    q.SetParam(pid, item.Value);
                }
            }

            if (String.IsNullOrEmpty(filter))
            {
                return;
            }

            filter = BaseItem.TrimOr(filter);

            q.AppendFilter(filter + "\n");
        } 
        public static void GetFilter(SearchQuery q, ItemAttribute ia, string selectedValue)
        {
            string pid = "";
            string filter = "";

            if (String.IsNullOrEmpty(selectedValue))
            {
                return;
            }

            if (ia.Attribute.HasValueSource)
            {
                RsTextBox.GetFilter(q, ia, selectedValue);
            }
            else
            {
                pid = q.NextParamId;
                filter = UStr.FilterInt32("AttributeID", pid);
                q.SetParam(pid, selectedValue);

                q.AppendFilter(filter + "\n");
            }
        }