private void Calculate_Click(object sender, EventArgs e) { string[] sNum = new string[100]; string[] sCooSys = new string[100]; string[] sB = new string[100]; string[] sL = new string[100]; double[] Num = new double[100]; double[] CooSys = new double[100]; double[] B = new double[100]; double[] L = new double[100]; string[] sX = new string[100]; string[] sY = new string[100]; //新建一个datatable用于保存读入的数据 DataTable dt2 = new DataTable(); //给dt2添加4个列标题 dt2.Columns.Add("代号", typeof(String)); dt2.Columns.Add("坐标系", typeof(String)); dt2.Columns.Add("X", typeof(String)); dt2.Columns.Add("Y", typeof(String)); for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { //str[i,j]= dataGridView1.Rows[i].Cells[j].Value.ToString(); //将代号放在一个数组中 if (j == 0) { sNum[i] = dataGridView1.Rows[i].Cells[0].Value.ToString(); string ssNum = sNum[i]; Num[i] = double.Parse(ssNum); } //将坐标系放在一个数组中 if (j == 1) { sCooSys[i] = dataGridView1.Rows[i].Cells[1].Value.ToString(); string ssCooSys = sCooSys[i]; CooSys[i] = double.Parse(ssCooSys); } //将B(纬度)放在一个数组中 if (j == 2) { sB[i] = dataGridView1.Rows[i].Cells[2].Value.ToString(); string ssB = sB[i]; B[i] = double.Parse(ssB); } //将L(经度)代号放在一个数组中 if (j == 3) { sL[i] = dataGridView1.Rows[i].Cells[3].Value.ToString(); string ssL = sL[i]; L[i] = double.Parse(ssL); } } //调用Calucate中的Compute方法 ZCalculate cal = new ZCalculate(); cal.Compute(Num[i], CooSys[i], B[i], L[i], out double[] X, out double[] Y); //将X,Y装换成string方便在datagridview2中表示 sX[i] = X[i].ToString(); sY[i] = Y[i].ToString(); DataRow dr2 = dt2.NewRow(); dr2[0] = Num[i]; dr2[1] = CooSys[i]; dr2[2] = X[i]; dr2[3] = Y[i]; //MessageBox.Show(X[i] + "," + Y[i]); dt2.Rows.Add(dr2); } this.dataGridView2.DataSource = dt2; }
private void BandChange_Click(object sender, EventArgs e) { string[] sNum = new string[100]; string[] sCooSys = new string[100]; string[] sX1 = new string[100]; string[] sY1 = new string[100]; string[] sL0 = new string[100]; double[] Num = new double[100]; double[] CooSys = new double[100]; double[] X1 = new double[100]; double[] Y1 = new double[100]; double[] L0 = new double[100]; string[] sX2 = new string[100]; string[] sY2 = new string[100]; //新建一个datatable用于保存读入的数据 DataTable dt4 = new DataTable(); //给dt4添加4个列标题 dt4.Columns.Add("代号", typeof(String)); dt4.Columns.Add("坐标系", typeof(String)); dt4.Columns.Add("X2", typeof(String)); dt4.Columns.Add("Y2", typeof(String)); for (int i = 0; i < dataGridView3.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView3.Columns.Count; j++) { //str[i,j]= dataGridView1.Rows[i].Cells[j].Value.ToString(); //将代号放在一个数组中 if (j == 0) { sNum[i] = dataGridView3.Rows[i].Cells[0].Value.ToString(); string ssNum = sNum[i]; Num[i] = double.Parse(ssNum); } //将坐标系放在一个数组中 if (j == 1) { sCooSys[i] = dataGridView3.Rows[i].Cells[1].Value.ToString(); string ssCooSys = sCooSys[i]; CooSys[i] = double.Parse(ssCooSys); } //将X1放在一个数组中 if (j == 2) { sX1[i] = dataGridView3.Rows[i].Cells[2].Value.ToString(); string ssX1 = sX1[i]; X1[i] = double.Parse(ssX1); } //将Y1放在一个数组中 if (j == 3) { sY1[i] = dataGridView3.Rows[i].Cells[3].Value.ToString(); string ssY1 = sY1[i]; Y1[i] = double.Parse(ssY1); } if (j == 4) { sL0[i] = dataGridView3.Rows[i].Cells[3].Value.ToString(); string ssL0 = sL0[i]; L0[i] = double.Parse(ssL0); } } //调用Calucate中的Compute方法 BandCalculate band = new BandCalculate(); band.BandCompute(Num[i], CooSys[i], X1[i], Y1[i], L0[i], out double[] B, out double[] L); ZCalculate zCalculate = new ZCalculate(); zCalculate.Compute(Num[i], CooSys[i], B[i], L[i], out double[] X2, out double[] Y2); //将X2,Y2装换成string方便在datagridview4中表示 sX2[i] = X2[i].ToString(); sY2[i] = Y2[i].ToString(); DataRow dr4 = dt4.NewRow(); dr4[0] = Num[i]; dr4[1] = CooSys[i]; dr4[2] = sX2[i]; dr4[3] = sY2[i]; dt4.Rows.Add(dr4); } this.dataGridView4.DataSource = dt4; }