void ifListView_SearchForVirtualItem(object sender, SearchForVirtualItemEventArgs e) { if (_searchList == null) { ListViewBinding binding = _bindings.OfType <SubItemBinding>().First(b => b.SubItemIndex == 0); if (binding != null) { _searchList = new Dictionary <string, int>(); int index = 0; foreach (object obj in _dataSource) { string value = binding.GetValue(obj).ToString(); _searchList[value] = index; index++; } } } if (_searchList != null) { string key = _searchList.Keys.FirstOrDefault(k => k.StartsWith(e.Text, StringComparison.OrdinalIgnoreCase)); if (key != null) { e.Index = _searchList[key]; } } }
/// <summary> /// A static constructor that registers Xomega framework data object bindings. /// </summary> static DataObjectBinding() { Register(); ListViewBinding.Register(); }