Example #1
0
        private void btnQueryBuilder_Click(object sender, EventArgs e)
        {
            if (_layer == null)
            {
                return;
            }

            FormQueryBuilder dlg = new FormQueryBuilder(_layer);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                txtExpression.Text = dlg.whereClause;
            }
        }
Example #2
0
        async static public Task <FormQueryBuilder> CreateAsync(ITableClass tc)
        {
            var dlg = new FormQueryBuilder();

            dlg._tc = tc;


            if (dlg._tc == null)
            {
                return(dlg);
            }

            gView.Framework.Data.QueryFilter filter = new gView.Framework.Data.QueryFilter();
            filter.SubFields = "*";

            using (ICursor cursor = await dlg._tc.Search(filter))
            {
                if (cursor is IFeatureCursor)
                {
                    dlg._table = new FeatureTable((IFeatureCursor)cursor, dlg._tc.Fields, dlg._tc);
                }
                else if (cursor is IRowCursor)
                {
                    dlg._table = new RowTable((IRowCursor)cursor, dlg._tc.Fields);
                }
                else
                {
                    return(dlg);
                }
                await dlg._table.Fill(2000);
            }

            dlg.cmbMethod.SelectedIndex = 0;
            foreach (IField field in dlg._tc.Fields.ToEnumerable())
            {
                if (field.type == FieldType.binary ||
                    field.type == FieldType.Shape)
                {
                    continue;
                }

                dlg.lstFields.Items.Add(Field.WhereClauseFieldName(field.name));
            }

            return(dlg);
        }
Example #3
0
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (_dsElement is IFeatureLayer && _dsElement is IFeatureSelection)
            {
                FormQueryBuilder dlg = new FormQueryBuilder((IFeatureLayer)_dsElement);
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    QueryFilter filter = new QueryFilter();
                    filter.WhereClause = dlg.whereClause;

                    ((IFeatureSelection)_dsElement).Select(filter, dlg.combinationMethod);
                    ((IFeatureSelection)_dsElement).FireSelectionChangedEvent();

                    if (_doc != null)
                    {
                        _doc.FocusMap.RefreshMap(DrawPhase.Selection, null);
                    }
                }
            }
        }