// User Click the Select Button private void BtnSelectClick(object sender, EventArgs e) { if (_enableUpdate) { if (((IndexParam)base.Param).Fs == null || ((IndexParam)base.Param).Fs.DataTable == null) { return; } if (((IndexParam)base.Param).Fs.DataTable.Rows.Count < 1) { return; } using (SqlExpressionDialog dlgExpression = new SqlExpressionDialog { Table = ((IndexParam)base.Param).Fs.DataTable }) { if (dlgExpression.ShowDialog() != DialogResult.OK) { return; } _expression = dlgExpression.Expression; textBox1.Text = _expression; Status = ToolStatus.Ok; _click = true; LightTipText = ModelingMessageStrings.FeaturesSelected; } } }
/// <summary> /// Find a feature by query expression. /// </summary> /// <param name="sender">Sender that raised the event.</param> /// <param name="e">The event args.</param> private void FindToolClick(object sender, EventArgs e) { var fl = App.Map.GetFeatureLayers().FirstOrDefault(_ => _.IsSelected); if (fl == null) { MessageBox.Show(Resources.PleaseSelectAFeatureLayer); return; } if (fl.DataSet.Name != _oldFeaturelayer) { _qdExpression = string.Empty; _oldFeaturelayer = fl.DataSet.Name; } using (_qd = new SqlExpressionDialog()) { _qd.DialogCulture = ExtensionCulture; fl.DataSet.FillAttributes(); if (fl.DataSet.AttributesPopulated) { _qd.Table = fl.DataSet.DataTable; } else { _qd.AttributeSource = fl.DataSet; } _qd.Expression = _qdExpression; // Note: User must click ok button to see anything. if (_qd.ShowDialog() == DialogResult.Cancel) { _qdExpression = _qd.Expression; return; } _qdExpression = _qd.Expression; if (!string.IsNullOrWhiteSpace(_qd.Expression)) { try { fl.SelectByAttribute(_qd.Expression); } catch (SyntaxErrorException ex) { MessageBox.Show(string.Format(Resources.IncorrectSyntax, ex.Message)); } } } }