예제 #1
0
        private void SearchLayer_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            txtAttQueryWhere.Text = "";
            lstAttQueryField.Items.Clear();

            ComboBoxItem     item       = lstAttQueryLayer.SelectedItem as ComboBoxItem;
            ArcGISLayerInfo  layerInfo  = item.Tag as ArcGISLayerInfo;
            ArcGISQueryLayer queryLayer = widgetConfig.QueryLayers[lstAttQueryLayer.SelectedIndex];

            if (layerInfo.IsReady)
            {
                string fieldType = "";

                if (!string.IsNullOrEmpty(queryLayer.QueryFields))
                {
                    string[] queryFields = queryLayer.QueryFields.Split(',');
                    foreach (ArcGISLayerField field in layerInfo.Fields)
                    {
                        if (queryFields.Contains(field.Name, StringComparer.CurrentCultureIgnoreCase))
                        {
                            fieldType = field.Type.Substring(13); // "esriFieldType".Length
                            lstAttQueryField.Items.Add(new ListBoxItem()
                            {
                                Content = string.Format("{0} ({1})", field.Name, fieldType), Tag = field, Height = 20
                            });
                        }
                    }
                }
                else
                {
                    foreach (ArcGISLayerField field in layerInfo.Fields)
                    {
                        fieldType = field.Type.Substring(13); // "esriFieldType".Length
                        if (!fieldType.Equals("Geometry") && !fieldType.Equals("Raster") && !fieldType.Equals("Blob"))
                        {
                            lstAttQueryField.Items.Add(new ListBoxItem()
                            {
                                Content = string.Format("{0} ({1})", field.Name, fieldType), Tag = field, Height = 20
                            });
                        }
                    }
                }
            }
        }
 public QueryTool(ArcGISQueryLayer queryLayer, ArcGISLayerInfo layerInfo)
 {
     this.QueryLayer = queryLayer;
     this.LayerInfo  = layerInfo;
 }
 public QueryResultEventArgs(string error, ArcGISQueryLayer queryLayer)
 {
     this.errorMsg    = error;
     this._queryLayer = queryLayer;
 }
 public QueryResultEventArgs(FeatureSet fset, ArcGISQueryLayer queryLayer)
 {
     this._fset       = fset;
     this._queryLayer = queryLayer;
 }