[WebMethod] public SimpleCompanyList GetSimpCompDataByKeywordFromTwoCity(string keyword) ...{ //获得广州的数据 itdb.SolutionDirWebServicesService obj_serv = new itdb.SolutionDirWebServicesService(); itdb.SimpleCompanyList clist; clist = obj_serv.findCompanyListByKeyword(keyword, 1, 99999999); DataTable dt1 = new DataTable(); dt1.Columns.Add("companyId"); dt1.Columns.Add("name"); dt1.Columns.Add("cName"); dt1.Columns.Add("solutionCount"); if (clist.totalNumber > 0) ...{ for (int i = 0; i < clist.arrayOfSimpleCompanyData.Length; i++) ...{ dt1.Rows.Add(clist.arrayOfSimpleCompanyData[i].companyId, clist.arrayOfSimpleCompanyData[i].name, clist.arrayOfSimpleCompanyData[i].cName, clist.arrayOfSimpleCompanyData[i].solutionCount); } } //获得本地的数据 SimpleCompanyList obj_smplist = getSimpCompDataByKeyword(keyword); DataTable dt2 = new DataTable(); dt2.Columns.Add("companyId"); dt2.Columns.Add("name"); dt2.Columns.Add("cName"); dt2.Columns.Add("solutionCount"); if (obj_smplist.totalNumber > 0) ...{ for (int j = 0; j < obj_smplist.arrayOfSimpleCompanyData.Length; j++) ...{ dt2.Rows.Add(obj_smplist.arrayOfSimpleCompanyData[j].companyId, obj_smplist.arrayOfSimpleCompanyData[j].name, obj_smplist.arrayOfSimpleCompanyData[j].cName, obj_smplist.arrayOfSimpleCompanyData[j].solutionCount); } } //合并两张表 DataTable newDataTable = dt2.Clone();//创建和dt2相同的表 Object[] obj = new Object[newDataTable.Columns.Count]; for (int n = 0; n < dt1.Rows.Count; n++) ...{ dt1.Rows[n].ItemArray.CopyTo(obj, 0);//将第n行的数据拷贝到对象obj中 newDataTable.Rows.Add(obj); } for (int m = 0; m < dt2.Rows.Count; m++) ...{ dt2.Rows[m].ItemArray.CopyTo(obj, 0);//将第j行的数据拷贝到对象obj中 newDataTable.Rows.Add(obj); } int count = newDataTable.Rows.Count; SimpleCompanyList sclt = new SimpleCompanyList();//创建一个SimpleCompanyList对象 int[] array = new int[3]; array[0] = clist.totalNumber;//广州的数据的数量 array[1] = obj_smplist.totalNumber;//江西的数据的数量 array[2] = obj_smplist.totalNumber + clist.totalNumber;//两地的数据的数量总和 sclt.totalCount = array; sclt.totalNumber = count;//两地的数据总数 SimpleCompanyData[] scd = new SimpleCompanyData[count];//创建一个SimpleCompanyData数组对象 for (int j = 0; j < scd.Length; j++) //实例化数组 ...{ scd[j] = new SimpleCompanyData(); } for (int i = 0; i < count; i++) ...{ scd[i].companyId = Int32.Parse(newDataTable.Rows[i][0].ToString()); scd[i].name = newDataTable.Rows[i][1].ToString(); scd[i].cName = newDataTable.Rows[i][2].ToString(); scd[i].solutionCount = Int32.Parse(newDataTable.Rows[i][3].ToString()); } sclt.arrayOfSimpleCompanyData = scd; return sclt; } #endregion