📄 chaxun.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
namespace WindowsApplication1
{
public partial class chaxun : Form
{
public IMap pMap;
public string querySentence;
public int layerIndex;
public string layerName;
public int fieldIndex;
public string fieldName;
public ITable pTable;
private IFeatureLayer pLayer;
public chaxun()
{
InitializeComponent();
}
private void comboBox1_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
int i, layerCount;
layerCount = pMap.LayerCount;
for (i = 0; i < layerCount; i++)
comboBox1.Items.Add(pMap.get_Layer(i).Name);
}
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
{
layerIndex = comboBox1.SelectedIndex;
string text = comboBox1.SelectedText;
if (layerIndex == -1)
{
MessageBox.Show("必须选择一个图层");
return;
}
comboBox2.Enabled = true;
pLayer = (IFeatureLayer)pMap.get_Layer(layerIndex);
pTable = (ITable)pLayer;
int fieldCount,i;
fieldCount = pTable.Fields.FieldCount;
comboBox2.Items.Clear();
for (i = 0; i < fieldCount; i++)
comboBox2.Items.Add(pTable.Fields.get_Field(i).Name);
}
private void comboBox2_SelectionChangeCommitted(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox1.Enabled = true;
fieldIndex = comboBox2.SelectedIndex;
fieldName = pTable.Fields.get_Field(fieldIndex).Name;
IQueryFilter pQueryFilter;
pQueryFilter = new QueryFilterClass();
pQueryFilter.AddField(fieldName);
int rowCount;
double[] fieldValue;
rowCount = pTable.RowCount(pQueryFilter);
fieldValue = new double[rowCount];
for (int i = 0; i < rowCount; i++)
{
listBox1.Items.Add(pTable.GetRow(i).get_Value(fieldIndex).ToString());
if (pTable.GetRow(i).get_Value(fieldIndex) is int)
fieldValue[i] = (int)pTable.GetRow(i).get_Value(fieldIndex);
if (pTable.GetRow(i).get_Value(fieldIndex) is double)
fieldValue[i] = (double)pTable.GetRow(i).get_Value(fieldIndex);
}
textBox1.Text = comboBox2.SelectedItem.ToString();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text += (string)listBox1.SelectedItem;
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "=";
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += "<>";
}
private void button11_Click(object sender, EventArgs e)
{
textBox1.Text += "Like";
}
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text += ">";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += ">=";
}
private void button12_Click(object sender, EventArgs e)
{
textBox1.Text += "And";
}
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += "<";
}
private void button8_Click(object sender, EventArgs e)
{
textBox1.Text += "<=";
}
private void button13_Click(object sender, EventArgs e)
{
textBox1.Text += "Or";
}
private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += "%";
}
private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += "_";
}
private void button14_Click(object sender, EventArgs e)
{
textBox1.Text += "Not";
}
private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += "()";
}
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text += "'";
}
private void button15_Click(object sender, EventArgs e)
{
textBox1.Text += "Is";
}
private void button16_Click(object sender, EventArgs e)
{
querySentence = textBox1.Text;
this.Close();
}
private void button17_Click(object sender, EventArgs e)
{
this.Close();
}
private void chaxun_Load(object sender, EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -