if (this.field_listBox.SelectedIndex != -1) {
UniqueValueClass uniqueVaueCls = new UniqueValueClass();
list = uniqueVaueCls.GetLayerUniqueFieldValueByDataStatistics( featClsInfo.FeatureClass, this.field_listBox.SelectedItem.ToString());
this.uniqueValue_listBox.Items.Clear(); foreach (var f in list) {
this.uniqueValue_listBox.Items.Add(f); } } }
private void field_DoubleClick(object sender, EventArgs e) {
sql_textBox.Text += field_listBox.SelectedItem.ToString(); }
private void uniqueValue_DoubleClick(object sender, EventArgs e) {
IField field = _fInfo.FeatureClass.Fields.get_Field(field_listBox.SelectedIndex); if (field.Type == esriFieldType.esriFieldTypeString) {
sql_textBox.Text += \+uniqueValue_listBox.SelectedItem.ToString()+\; } else {
sql_textBox.Text += uniqueValue_listBox.SelectedItem.ToString(); } }
private void clear_button_Click(object sender, EventArgs e) {
sql_textBox.Text = \; }
private void apply_button_Click(object sender, EventArgs e) {
this.DialogResult = DialogResult.OK; this.Close();
}
private void close_button_Click(object sender, EventArgs e) {
this.DialogResult = DialogResult.Cancel; this.Close(); }
} }
5、在主窗口事件中调用:
List
if (featClsInfoList.Count > 0) {
//打洙?开a查é询ˉ窗洹?口ú frmQueryFeat queryFeatForm = new frmQueryFeat(featClsInfoList.ToArray());
if (queryFeatForm.ShowDialog() == DialogResult.OK) {
int lyrindex = queryFeatForm.LayerIndex();//要癮查é询ˉ的?图?层?
string sql = queryFeatForm.SQL();//查é询ˉ语?句?
IFeatureLayer featureLyr =
axMapControl1.Map.get_Layer(lyrindex) as IFeatureLayer;
searchSelection(sql, featureLyr);//执′行D查é询ˉ } } else {
MessageBox.Show(\缺ā?少Θ?要癮素?图?层?!?\, \提??示?\, MessageBoxButtons.OK, MessageBoxIcon.Information); } }