//0全国1省2市3县
public int qssx = 0;
private void button1_Click(object sender, EventArgs e)
{
("数据这个在加载,请稍候......");
//新建一个QueryTask
QueryTask queryTask = new QueryTask("http://********.155:6080/arcgis/rest/services/20150507newlocustarea/MapServer/0");
// Query对象
Query query = new Query();
if ( == 0 && == 0)
{
//("请选择省");
= "NAME_1 = NAME_1 ";
qssx = 0;
}
if ( != 0 && == 0 && ==0)
{= "NAME_1 ='" + () + "'";
qssx = 1;
}
if ( != 0 && != 0 && == 0)
{
= "NAME_12 ='" + () + "'";
qssx = 2;
}
if ( != 0 && != 0 && != 0)
{
= "NAME_12_13 ='" + () + "'";
qssx = 3;
}
("*");
//异步查询,需要绑定queryTask的两个事件,通过ExecuteCompleted得到查询结果
+= QueryTask_ExecuteCompleted;
+= QueryTask_Failed;
(query);
//同步查询,不需要绑定事件,直接返回查询结果
//FeatureSet featureSet = (query);
if (() != "柱状图")
{
("请选择柱状图,饼状图尚未实现!");
return;
}
}
void QueryTask_ExecuteCompleted(object sender, QueryEventArgs e)
{
FeatureSet featureSet = ;
dt = new ();
();
= true;
= true;
//当选择为全国时
if (qssx == 0)
{
var result = (a => ["NAME_1"])
.Select(group => new
{
Name = ,
Count = (),
Area = (x => (["面积"]))
});
if (featureSet != null && > 0)
{
DataColumn dc1 = new DataColumn("省份");//2
(dc1);
DataColumn dc2 = new DataColumn("蝗区总个数");
(dc2);
DataColumn dc3 = new DataColumn("蝗区总面积");
(dc3);
int i1 = 0;
foreach (var groap in result)
{
DataRow newrow = ();
newrow[0] = ();
newrow[1] = ();
newrow[2] = ();
(newrow);
i1++;
}
= ;
= ;
= ();
= (x => (["面积"])).ToString("0.00");
= true;
= true;
}
[0].BackColor = ;
[0].Enabled = true;
DataTable dtchart = default(DataTable);
dtchart = ("省份", "蝗区总个数", 0, 1, dataGridView2);
= dtchart;
[0].YValueMembers = "蝗区总个数";
[0].XValueMember = "省份";
[0].Legend = "Legend1";
[0].LegendText = "蝗区总个数";
[0]. = 1; //设置X轴坐标的间隔为1
[0]. = 1; //设置X轴坐标偏移为1
[0]. = false; //设置是否交错显示,比如数据多的时间分成两行来显示
[0]. = "个";
();
}
if (qssx == 1)
{
//当选择为省时
var result = (a => ["NAME_12"])
.Select(group => new
{
Name = ,
Count = (),
Area = (x => (["面积"]))
});
if (featureSet != null && > 0)
{
DataColumn dc1 = new DataColumn("市");//2
(dc1);
DataColumn dc2 = new DataColumn("蝗区总个数");
(dc2);
DataColumn dc3 = new DataColumn("蝗区总面积");
(dc3);
int i1 = 0;
foreach (var groap in result)
{
DataRow newrow = ();
newrow[0] = ();
newrow[1] = ();
newrow[2] = ();
(newrow);
i1++;
}
= ;
= ;
= ();
= (x => (["面积"])).ToString("0.00");
= true;
= true;
}
[0].BackColor = ;
[0].Enabled = true;
DataTable dtchart = default(DataTable);
dtchart = ("市", "蝗区总个数", 0, 1, dataGridView2);
= dtchart;
[0].YValueMembers = "蝗区总个数";
[0].XValueMember = "市";
[0].Legend = "Legend1";
[0].LegendText = "蝗区总个数";
[0]. = 1; //设置X轴坐标的间隔为1
[0]. = 1; //设置X轴坐标偏移为1
[0]. = false; //设置是否交错显示,比如数据多的时间分成两行来显示
[0]. = "个";
();
}
if (qssx == 2)
{
//当选择为市时
var result = (a => ["NAME_12_13"])
.Select(group => new
{
Name = ,
Count = (),
Area = (x => (["面积"]))
});
if (featureSet != null && > 0)
{
DataColumn dc1 = new DataColumn("县");//2
(dc1);
DataColumn dc2 = new DataColumn("蝗区总个数");
(dc2);
DataColumn dc3 = new DataColumn("蝗区总面积");
(dc3);
int i1 = 0;
foreach (var groap in result)
{
DataRow newrow = ();
newrow[0] = ();
newrow[1] = ();
newrow[2] = ();
(newrow);
i1++;
}
= ;
= ;
= ();
= (x => (["面积"])).ToString("0.00");
= true;
= true;
}
[0].BackColor = ;
[0].Enabled = true;
DataTable dtchart = default(DataTable);
dtchart = ("县", "蝗区总个数", 0, 1, dataGridView2);
= dtchart;
[0].YValueMembers = "蝗区总个数";
[0].XValueMember = "县";
[0].Legend = "Legend1";
[0].LegendText = "蝗区总个数";
[0]. = 1; //设置X轴坐标的间隔为1
[0]. = 1; //设置X轴坐标偏移为1
[0]. = false; //设置是否交错显示,比如数据多的时间分成两行来显示
[0]. = "个";
();
}
if (qssx == 3)
{
//当选择为县时
//var result = (a => ["NAME_12_13"])
// .Select(group => new
// {
// Name = ,
// Count = (),
// Area = (x => (["面积"]))
// });
if (featureSet != null && > 0)
{
DataColumn dc1 = new DataColumn("蝗区名称");//2
(dc1);
DataColumn dc2 = new DataColumn("蝗区面积");
(dc2);
int i1 = 0;
foreach (var groap in featureSet)
{
DataRow newrow = ();
newrow[0] = ["蝗区名称"].ToString();
newrow[1] = ["面积"].ToString();
(newrow);
i1++;
}
= ;
= ;
= ();
= (x => (["面积"])).ToString("0.00");
= true;
= true;
}
[0].BackColor = ;
[0].Enabled = true;
DataTable dtchart = default(DataTable);
dtchart = ("蝗区名称", "蝗区面积", 0, 1, dataGridView2);
= dtchart;
[0].YValueMembers = "蝗区面积";
[0].XValueMember = "蝗区名称";
[0].Legend = "Legend1";
[0].LegendText = "蝗区面积";
[0]. = 1; //设置X轴坐标的间隔为1
[0]. = 1; //设置X轴坐标偏移为1
[0]. = false; //设置是否交错显示,比如数据多的时间分成两行来显示
[0]. = "平方千米";
();
}
}
void QueryTask_Failed(object sender, TaskFailedEventArgs e)
{
(());
}