public List <int> GetMatchingIndexes(SfComboBox source, ComboBoxFilterInfo filterInfo)
        {
            List <int>      filteredlist = new List <int>();
            List <CityInfo> CityItems    = source.Items.OfType <CityInfo>().ToList();

            filteredlist.AddRange(from CityInfo item in CityItems
                                  where item.CountryName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) ||
                                  item.CityName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase)
                                  select CityItems.IndexOf(item));
            return(filteredlist);
        }
Beispiel #2
0
        public List <int> GetMatchingIndexes(SfComboBox source, ComboBoxFilterInfo filterInfo)
        {
            List <int>      filteredlist = new List <int>();
            List <CityInfo> CityItems    = source.Items.OfType <CityInfo>().ToList();

            filteredlist.AddRange(from CityInfo item in CityItems
                                  let filterItem = this.GetStringFromMemberPath(item, "CountryName")
                                                   where filterItem.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase)
                                                   select CityItems.IndexOf(item));

            filteredlist.AddRange(from CityInfo item in CityItems
                                  let filterItem                         = this.GetStringFromMemberPath(item, "CityName")
                                                               let index = CityItems.IndexOf(item)
                                                                           where filterItem.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) && !filteredlist.Contains(index)
                                                                           select CityItems.IndexOf(item));
            return(filteredlist);
        }