/// <summary>
        /// Searches asynchronously for places matching the specified text.
        /// </summary>
        public Task<List<Graphic>> FindAsync(string searchText)
        {
            FindParameters findParams = new FindParameters();
              findParams.LayerIds.AddRange(new int[] { 0 });  // cities layer
              findParams.SearchFields.AddRange(new string[] { "CITY_NAME" });
              findParams.SpatialReference = new SpatialReference(4326);
              findParams.SearchText = searchText;

              FindTask findTask = new FindTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer");

              var tcs = new TaskCompletionSource<List<Graphic>>();
              findTask.ExecuteCompleted += (sender, e) =>
              {
            List<Graphic> graphics = new List<Graphic>();
            foreach (var result in e.FindResults)
              graphics.Add(result.Feature);

            tcs.TrySetResult(graphics);
              };

              findTask.Failed += (sender, e) =>
              {
            tcs.TrySetResult(new List<Graphic>());
              };

              findTask.ExecuteAsync(findParams);
              return tcs.Task;
        }
Ejemplo n.º 2
0
        public ITask GenerateTask()
        {
            Queue <ITask> queuedTasks   = new Queue <ITask>();
            ITask         compositeTask = new CompositeTask(queuedTasks);

            ITask findFood = new FindTask <Food>(_owningAgent, (target, food) =>
            {
                // Called when food found. Create seek task.
                ITask seekFood = new SeekTask(_owningAgent, target, 3, () =>
                {
                    ITask intentTask = new IntentTask(_owningAgent, food, EIntent.EAT, () =>
                    {
                        EnergyCompontent foodEnergy = food.TakeEnergy(new EnergyCompontent
                        {
                            EnergyType = EEnergyType.NOURISHMENT
                        });
                        _owningAgent.GiveEnergy(new EnergyCompontent
                        {
                            EnergyType = EEnergyType.NOURISHMENT,
                            KiloJoules = foodEnergy.KiloJoules
                        });
                    });
                    queuedTasks.Enqueue(intentTask);
                });
                queuedTasks.Enqueue(seekFood);
            });

            queuedTasks.Enqueue(findFood);
            compositeTask.Start();

            return(compositeTask);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Searches asynchronously for places matching the specified text.
        /// </summary>
        public Task <List <Graphic> > FindAsync(string searchText)
        {
            FindParameters findParams = new FindParameters();

            findParams.LayerIds.AddRange(new int[] { 0 }); // cities layer
            findParams.SearchFields.AddRange(new string[] { "CITY_NAME" });
            findParams.SpatialReference = new SpatialReference(4326);
            findParams.SearchText       = searchText;

            FindTask findTask = new FindTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer");

            var tcs = new TaskCompletionSource <List <Graphic> >();

            findTask.ExecuteCompleted += (sender, e) =>
            {
                List <Graphic> graphics = new List <Graphic>();
                foreach (var result in e.FindResults)
                {
                    graphics.Add(result.Feature);
                }

                tcs.TrySetResult(graphics);
            };

            findTask.Failed += (sender, e) =>
            {
                tcs.TrySetResult(new List <Graphic>());
            };

            findTask.ExecuteAsync(findParams);
            return(tcs.Task);
        }
        private void ExecuteButton_Click(object sender, RoutedEventArgs e)
        {
            GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer;
            graphicsLayer.Graphics.Clear();

            FindTask findTask = new FindTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer");
            findTask.Failed += FindTask_Failed;

            FindParameters findParameters = new FindParameters();
            // Layer ids to search
            findParameters.LayerIds.AddRange(new int[] { 0,1,2 });
            // Fields in layers to search
            findParameters.SearchFields.AddRange(new string[] { "CITY_NAME", "NAME", "SYSTEM", "STATE_ABBR", "STATE_NAME" });
            // Return features in map's spatial reference
            findParameters.SpatialReference = MyMap.SpatialReference;

            // Bind data grid to find results.  Bind to the LastResult property which returns a list
            // of FindResult instances.  When LastResult is updated, the ItemsSource property on the
            // will update.
            Binding resultFeaturesBinding = new Binding("LastResult");
            resultFeaturesBinding.Source = findTask;
            FindDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);

            findParameters.SearchText = FindText.Text;
            findTask.ExecuteAsync(findParameters);

            // Since binding to DataGrid, handling the ExecuteComplete event is not necessary.
        }
Ejemplo n.º 5
0
        private void ExecuteButton_Click(object sender, RoutedEventArgs e)
        {
            GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer;

            graphicsLayer.ClearGraphics();

            FindTask findTask = new FindTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer");

            findTask.Failed += FindTask_Failed;

            FindParameters findParameters = new FindParameters();

            // Layer ids to search
            findParameters.LayerIds.AddRange(new int[] { 0, 1, 2 });
            // Fields in layers to search
            findParameters.SearchFields.AddRange(new string[] { "CITY_NAME", "NAME", "SYSTEM", "STATE_ABBR", "STATE_NAME" });
            // Return features in map's spatial reference
            findParameters.SpatialReference = MyMap.SpatialReference;


            // Bind data grid to find results.  Bind to the LastResult property which returns a list
            // of FindResult instances.  When LastResult is updated, the ItemsSource property on the
            // will update.
            Binding resultFeaturesBinding = new Binding("LastResult");

            resultFeaturesBinding.Source = findTask;
            FindDetailsDataGrid.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding);

            findParameters.SearchText = FindText.Text;
            findTask.ExecuteAsync(findParameters);

            // Since binding to DataGrid, handling the ExecuteComplete event is not necessary.
        }
Ejemplo n.º 6
0
        public async void Execute(object parameter)
        {
            var url      = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer";
            var findTask = new FindTask(new Uri(url));

            var findParameters = new FindParameters();

            findParameters.LayerIDs.Add(0); // Cities
            findParameters.LayerIDs.Add(3); // Counties
            findParameters.LayerIDs.Add(2); // States

            findParameters.SearchFields.Add("name");
            findParameters.SearchFields.Add("areaname");
            findParameters.SearchFields.Add("state_name");

            findParameters.ReturnGeometry = true;
            //findParameters.SpatialReference = MyMapView.SpatialReference;

            findParameters.SearchText = (string)parameter;
            findParameters.Contains   = true;

            FindResult findResult = await
                                    findTask.ExecuteAsync(findParameters);

            var foundCities   = 0;
            var foundCounties = 0;
            var foundStates   = 0;

            // Loop thru results; count the matches found in each layer
            foreach (FindItem findItem in findResult.Results)
            {
                switch (findItem.LayerID)
                {
                case 0:     // Cities
                    foundCities++;
                    break;

                case 3:     // Counties
                    foundCounties++;
                    break;

                case 2:     // States
                    foundStates++;
                    break;
                }
            }

            // Report the number of matches for each layer
            var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + (string)parameter +
                                    "' in a Name attribute", foundCities, foundCounties,
                                    foundStates);

            MessageBox.Show(msg);

            vm.SearchResults = findResult.Results;
            // Bind the results to a DataGrid control on the page
            // MyDataGrid.ItemsSource = findResult.Results;
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 获取一个匹配数据
 /// </summary>
 /// <param name="key">关键字</param>
 /// <param name="isValue">数据匹配器,禁止数据库与锁操作</param>
 /// <returns>匹配数据,失败返回null</returns>
 public ReturnValue <valueType> FirstOrDefault(keyType key, Func <valueType, bool> isValue)
 {
     if (isValue != null)
     {
         FindTask task = new FindTask(this, key, isValue);
         counter.SqlTable.AddQueue(task);
         return(task.Wait());
     }
     return(ReturnType.ArgumentNull);
 }
Ejemplo n.º 8
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {

            var url = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer";
            var findTask = new FindTask(new Uri(url));

            var findParameters = new FindParameters();
            findParameters.LayerIDs.Add(0); // Cities
            findParameters.LayerIDs.Add(3); // Counties
            findParameters.LayerIDs.Add(2); // States
            
            findParameters.SearchFields.Add("name");
            findParameters.SearchFields.Add("areaname");
            findParameters.SearchFields.Add("state_name");

            findParameters.ReturnGeometry = true;
            findParameters.SpatialReference = MyMapView.SpatialReference;

            findParameters.SearchText = SearchTextBox.Text;
            findParameters.Contains = true; 

            FindResult findResult = await 
                     findTask.ExecuteAsync(findParameters);

            var foundCities = 0;
            var foundCounties = 0;
            var foundStates = 0;

            // Loop thru results; count the matches found in each layer
            foreach (FindItem findItem in findResult.Results)
            {
                switch (findItem.LayerID)
                {
                    case 0: // Cities
                        foundCities++;
                        break;
                    case 3: // Counties
                        foundCounties++;
                        break;
                    case 2: // States
                        foundStates++;
                        break;
                }
            }

            // Report the number of matches for each layer
            var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + SearchTextBox.Text +
                               "' in a Name attribute", foundCities, foundCounties, 
                     foundStates);
            MessageBox.Show(msg);


            // Bind the results to a DataGrid control on the page
            MyDataGrid.ItemsSource = findResult.Results;    
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 获取一个匹配数据
        /// </summary>
        /// <param name="key">关键字</param>
        /// <param name="isValue">数据匹配器,禁止数据库与锁操作</param>
        /// <returns>匹配数据,失败返回null</returns>
        public valueType FirstOrDefault(keyType key, Func <valueType, bool> isValue)
        {
            if (isValue == null)
            {
                throw new ArgumentNullException();
            }
            FindTask task = new FindTask(this, key, isValue);

            counter.SqlTable.AddQueue(task);
            return(task.Wait());
        }
Ejemplo n.º 10
0
        public Task <FindResult> DoFind(string serviceId, Geometry geometry, string fields, string value)
        {
            LayerObject lo = null;

            foreach (var t in ConfigUtil.DynamicLayer)
            {
                if (serviceId != t.Id)
                {
                    continue;
                }
                lo = t;
            }
            if (lo == null)
            {
                return(null);
            }
            var findTask = new FindTask(lo.Uri);

            if (lo.Token != null)
            {
                findTask.Token = lo.Token;
            }

            //初始化FindParameters参数
            FindParameters findParameters = new FindParameters();

            string[] Layers = lo.Layers.Split('、');
            if (Layers != null && Layers.Length > 0)
            {
                foreach (var item in Layers)
                {
                    var layerId = lo.GetLayerId(item);
                    if (layerId != null)
                    {
                        findParameters.LayerIDs.Add(Convert.ToInt16(layerId)); //查找的图层
                    }
                }
            }
            findParameters.SearchFields.Add(fields); //查找的字段范围
            findParameters.ReturnGeometry = true;
            findParameters.Contains       = false;
            findParameters.SearchText     = value; //查找的“属性值”

            //异步执行
            return(findTask.ExecuteAsync(findParameters));
        }
Ejemplo n.º 11
0
 public override void onCompletion <T1>(CountedCompleter <T1> caller)
 {
     if (Op.MustFindFirst)
     {
         for (FindTask <P_IN, P_OUT, O> child = leftChild, p = null; child != p; p = child, child = rightChild)
         {
             O result = child.LocalResult;
             if (result != null && Op.PresentPredicate.Test(result))
             {
                 LocalResult = result;
                 FoundResult(result);
                 break;
             }
         }
     }
     base.OnCompletion(caller);
 }
Ejemplo n.º 12
0
        // Find map service items with entered information in given fields
        private async void FindButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                progress.Visibility     = Visibility.Visible;
                resultsGrid.Visibility  = Visibility.Collapsed;
                resultsGrid.ItemsSource = null;
                _graphicsOverlay.Graphics.Clear();

                FindTask findTask = new FindTask(
                    new Uri("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer"));

                var param = new FindParameters()
                {
                    LayerIDs = new List <int> {
                        0, 1, 2
                    },
                    SearchFields = new List <string> {
                        "CITY_NAME", "NAME", "SYSTEM", "STATE_ABBR", "STATE_NAME"
                    },
                    ReturnGeometry   = true,
                    SpatialReference = MyMapView.SpatialReference,
                    SearchText       = txtFind.Text
                };

                var findResults = await findTask.ExecuteAsync(param);

                if (findResults != null && findResults.Results.Count > 0)
                {
                    resultsGrid.ItemsSource = findResults.Results;
                    resultsGrid.Visibility  = Visibility.Visible;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Find Sample");
            }
            finally
            {
                progress.Visibility = Visibility.Collapsed;
            }
        }
        // Find map service items with entered information in given fields
        private async void FindButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                progress.Visibility = Visibility.Visible;
                resultsGrid.Visibility = Visibility.Collapsed;
                resultsGrid.ItemsSource = null;
                _graphicsLayer.Graphics.Clear();

                FindTask findTask = new FindTask(
                    new Uri("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer"));

                var param = new FindParameters()
                {
                    LayerIDs = new int[] { 0, 1, 2 },
                    SearchFields = new string[] { "CITY_NAME", "NAME", "SYSTEM", "STATE_ABBR", "STATE_NAME" },
                    ReturnGeometry = true,
                    SpatialReference = mapView.SpatialReference,
                    SearchText = txtFind.Text
                };

                var findResults = await findTask.ExecuteAsync(param);
                if (findResults != null && findResults.Results.Count > 0)
                {
                    resultsGrid.ItemsSource = findResults.Results;
                    resultsGrid.Visibility = Visibility.Visible;
                }
            }
            catch (Exception ex)
            {
                var _ = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
            }
            finally
            {
                progress.Visibility = Visibility.Collapsed;
            }
        }
Ejemplo n.º 14
0
        public ITask Create(IAction action)
        {
            ITask task = null;

            if (taskDic.TryGetValue(action.ActionType, out task))
            {
                return(task);
            }

            if (action.ActionType == ActionType.PageAction)
            {
                task = new PageTask(manager);
            }
            else if (action.ActionType == ActionType.BrowserAction)
            {
                task = new BrowserTask(manager);
            }
            else if (action.ActionType == ActionType.FindAction)
            {
                task = new FindTask(manager);
            }
            else if (action.ActionType == ActionType.MouseAction)
            {
                task = new MouseTask(manager);
            }
            else if (action.ActionType == ActionType.AttributeAction)
            {
                task = new AttributeTask(manager);
            }
            else if (action.ActionType == ActionType.ScrollAction)
            {
                task = new ScrollTask(manager);
            }
            else if (action.ActionType == ActionType.ClearDataAction)
            {
                task = new ClearDataTask(manager);
            }
            else if (action.ActionType == ActionType.WaitAction)
            {
                task = new WaitTask(manager);
            }
            else if (action.ActionType == ActionType.ClickAction)
            {
                task = new ClickTask(manager);
            }
            else if (action.ActionType == ActionType.KeyboardAction)
            {
                task = new KeyboardTask(manager);
            }
            else if (action.ActionType == ActionType.SendKeyAction)
            {
                task = new SendKeyTask(manager);
            }
            else if (action.ActionType == ActionType.ConditionAction)
            {
                task = new ConditionTask(manager);
            }
            else if (action.ActionType == ActionType.ClearHistoryAction)
            {
                task = new ClearHistoryTask(manager);
            }
            else if (action.ActionType == ActionType.TextAction)
            {
                task = new TextTask(manager);
            }
            else if (action.ActionType == ActionType.ScriptAction)
            {
                task = new ScriptTask(manager);
            }
            else if (action.ActionType == ActionType.PackageAction)
            {
                task = new PackageTask(manager);
            }

            taskDic.Add(action.ActionType, task);

            return(task);
        }
Ejemplo n.º 15
0
 internal FindTask(FindTask <P_IN, P_OUT, O> parent, Spliterator <P_IN> spliterator) : base(parent, spliterator)
 {
     this.Op = parent.Op;
 }
Ejemplo n.º 16
0
            public async void Search(int wkid)
            {

                var findTask = new FindTask(new System.Uri(this.USAUri));

                var findParameters = new FindParameters();
                findParameters.LayerIDs.Add(0); // Cities
                findParameters.LayerIDs.Add(3); // Counties
                findParameters.LayerIDs.Add(2); // States

                findParameters.SearchFields.Add("name");
                findParameters.SearchFields.Add("areaname");
                findParameters.SearchFields.Add("state_name");

                findParameters.ReturnGeometry = true;

                SpatialReference sr = new SpatialReference(wkid);
                findParameters.SpatialReference = sr;


                findParameters.SearchText = this.SearchText;
                findParameters.Contains = true;

                FindResult findResult = await
                         findTask.ExecuteAsync(findParameters);

                var foundCities = 0;
                var foundCounties = 0;
                var foundStates = 0;

                // Loop thru results; count the matches found in each layer
                foreach (FindItem findItem in findResult.Results)
                {
                    switch (findItem.LayerID)
                    {
                        case 0: // Cities
                            foundCities++;
                            break;
                        case 3: // Counties
                            foundCounties++;
                            break;
                        case 2: // States
                            foundStates++;
                            break;
                    }
                }

                // Report the number of matches for each layer
                var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + this.SearchText +
                                   "' in a Name attribute", foundCities, foundCounties,
                         foundStates);

                // Bind the results to a DataGrid control on the page
                IReadOnlyList<FindItem> temp = findResult.Results;

                ObservableCollection<FindItem> obsCollection = new ObservableCollection<FindItem>();
                foreach (FindItem item in temp)
                {
                    obsCollection.Add(item);
                }

                this.GridDataResults = obsCollection;

                // show message
                Messenger.Default.Send<NotificationMessage>(new NotificationMessage(msg));
            }
Ejemplo n.º 17
0
        public async void Search(int wkid)
        {
            var findTask = new FindTask(new System.Uri(this.USAUri));

            var findParameters = new FindParameters();

            findParameters.LayerIDs.Add(0); // Cities
            findParameters.LayerIDs.Add(3); // Counties
            findParameters.LayerIDs.Add(2); // States

            findParameters.SearchFields.Add("name");
            findParameters.SearchFields.Add("areaname");
            findParameters.SearchFields.Add("state_name");

            findParameters.ReturnGeometry = true;

            SpatialReference sr = new SpatialReference(wkid);

            findParameters.SpatialReference = sr;


            findParameters.SearchText = this.SearchText;
            findParameters.Contains   = true;

            FindResult findResult = await
                                    findTask.ExecuteAsync(findParameters);

            var foundCities   = 0;
            var foundCounties = 0;
            var foundStates   = 0;

            // Loop thru results; count the matches found in each layer
            foreach (FindItem findItem in findResult.Results)
            {
                switch (findItem.LayerID)
                {
                case 0:     // Cities
                    foundCities++;
                    break;

                case 3:     // Counties
                    foundCounties++;
                    break;

                case 2:     // States
                    foundStates++;
                    break;
                }
            }

            // Report the number of matches for each layer
            var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + this.SearchText +
                                    "' in a Name attribute", foundCities, foundCounties,
                                    foundStates);

            // Bind the results to a DataGrid control on the page
            IReadOnlyList <FindItem> temp = findResult.Results;

            ObservableCollection <FindItem> obsCollection = new ObservableCollection <FindItem>();

            foreach (FindItem item in temp)
            {
                obsCollection.Add(item);
            }

            this.GridDataResults = obsCollection;

            // show message
            Messenger.Default.Send <NotificationMessage>(new NotificationMessage(msg));
        }
Ejemplo n.º 18
0
        public async void Search(int wkid)
        {
            var url = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer";
            var findTask = new FindTask(new System.Uri(url));

            var findParameters = new FindParameters();
            findParameters.LayerIDs.Add(0); // Cities
            findParameters.LayerIDs.Add(3); // Counties
            findParameters.LayerIDs.Add(2); // States

            findParameters.SearchFields.Add("name");
            findParameters.SearchFields.Add("areaname");
            findParameters.SearchFields.Add("state_name");

            findParameters.ReturnGeometry = true;

            SpatialReference sr = new SpatialReference(wkid);
            findParameters.SpatialReference = sr;


            findParameters.SearchText = this.SearchText;
            findParameters.Contains = true;

            FindResult findResult = await
                     findTask.ExecuteAsync(findParameters);

            var foundCities = 0;
            var foundCounties = 0;
            var foundStates = 0;

            // Loop thru results; count the matches found in each layer
            foreach (FindItem findItem in findResult.Results)
            {
                switch (findItem.LayerID)
                {
                    case 0: // Cities
                        foundCities++;
                        break;
                    case 3: // Counties
                        foundCounties++;
                        break;
                    case 2: // States
                        foundStates++;
                        break;
                }
            }

            // Report the number of matches for each layer
            var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + this.SearchText +
                               "' in a Name attribute", foundCities, foundCounties,
                     foundStates);

            // Bind the results to a DataGrid control on the page
            IReadOnlyList<FindItem> temp = findResult.Results;

            ObservableCollection<FindItem> obsCollection = new ObservableCollection<FindItem>();
            foreach (FindItem item in temp)
            {
                obsCollection.Add(item);
            }

            this.GridDataResults = obsCollection;

            System.Diagnostics.Debug.WriteLine(msg);
        }
Ejemplo n.º 19
0
        public async void Search(int wkid)
        {
            var url      = "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer";
            var findTask = new FindTask(new System.Uri(url));

            var findParameters = new FindParameters();

            findParameters.LayerIDs.Add(0); // Cities
            findParameters.LayerIDs.Add(3); // Counties
            findParameters.LayerIDs.Add(2); // States

            findParameters.SearchFields.Add("name");
            findParameters.SearchFields.Add("areaname");
            findParameters.SearchFields.Add("state_name");

            findParameters.ReturnGeometry = true;

            SpatialReference sr = new SpatialReference(wkid);

            findParameters.SpatialReference = sr;


            findParameters.SearchText = this.SearchText;
            findParameters.Contains   = true;

            FindResult findResult = await
                                    findTask.ExecuteAsync(findParameters);

            var foundCities   = 0;
            var foundCounties = 0;
            var foundStates   = 0;

            // Loop thru results; count the matches found in each layer
            foreach (FindItem findItem in findResult.Results)
            {
                switch (findItem.LayerID)
                {
                case 0:     // Cities
                    foundCities++;
                    break;

                case 3:     // Counties
                    foundCounties++;
                    break;

                case 2:     // States
                    foundStates++;
                    break;
                }
            }

            // Report the number of matches for each layer
            var msg = string.Format("Found {0} cities, {1} counties, and {2} states containing '" + this.SearchText +
                                    "' in a Name attribute", foundCities, foundCounties,
                                    foundStates);

            // Bind the results to a DataGrid control on the page
            IReadOnlyList <FindItem> temp = findResult.Results;

            ObservableCollection <FindItem> obsCollection = new ObservableCollection <FindItem>();

            foreach (FindItem item in temp)
            {
                obsCollection.Add(item);
            }

            this.GridDataResults = obsCollection;

            System.Diagnostics.Debug.WriteLine(msg);
        }