Esempio n. 1
0
        private void MakeBaseData()
        {
            BaseTable = CGetTableType.GtMassData();

            ///전체 pipe Data가 들어있음
            foreach (CPipeData item in PipeMngr.Data)
            {
                InsertManhole(item.Data1);

                int nPipeCnt = item.Data1.Rows.Count;

                foreach (DataRow pipeRow in item.Data1.Rows)
                {
                    CMassData massData = MassMngr.Data.Find(x => x.SheetName == item.SheetName);

                    if (massData == null)
                    {
                        continue;
                    }

                    //string strSearch = string.Format("{0}='{1}'", "지반고", pipeRow["지반고"]);
                    //DataRow[] searchRow = massData.Data.Select(strSearch);

                    nPipeCnt += -1;
                    // massData.Rows[nPipeCnt];
                    //LINENAME NO	지반고	관저고	계획고	육상(토사)	육상(풍화암)	육상(연암)	수중(토사)	수중(풍화암)	수중(연암)	관상부
                    //관주위	ASP	CONC	덧씌우기	보도블럭	모래부설	보조기층	동상방지층 구간


                    DataRow dr = BaseTable.NewRow();
                    dr["LINE"] = item.SheetName;

                    string sfilter = pipeRow["맨홀"].ToString().Substring(0, 3);

                    if (sfilter == "M1-" || sfilter == "M2-" || sfilter == "M3-" || sfilter == "M4-" ||
                        sfilter == "E1-" || sfilter == "E2-" || sfilter == "E3-" || sfilter == "E4-")
                    {
                        dr["LINENAME"] = pipeRow["맨홀"].ToString().Remove(0, 3);
                    }
                    else
                    {
                        dr["LINENAME"] = pipeRow["맨홀"];
                    }

                    dr["누가거리"]    = pipeRow["누가거리"];
                    dr["NO"]      = massData.Data.Rows[nPipeCnt]["NO"];
                    dr["지반고"]     = massData.Data.Rows[nPipeCnt]["지반고"];
                    dr["관저고"]     = massData.Data.Rows[nPipeCnt]["관저고"];
                    dr["계획고"]     = massData.Data.Rows[nPipeCnt]["계획고"];
                    dr["육상(토사)"]  = massData.Data.Rows[nPipeCnt]["육상(토사)"];
                    dr["육상(풍화암)"] = massData.Data.Rows[nPipeCnt]["육상(풍화암)"];
                    dr["육상(연암)"]  = massData.Data.Rows[nPipeCnt]["육상(연암)"];
                    dr["수중(토사)"]  = massData.Data.Rows[nPipeCnt]["수중(토사)"];
                    dr["수중(풍화암)"] = massData.Data.Rows[nPipeCnt]["수중(풍화암)"];
                    dr["수중(연암)"]  = massData.Data.Rows[nPipeCnt]["수중(연암)"];
                    dr["관상부"]     = massData.Data.Rows[nPipeCnt]["관상부"];
                    dr["관주위"]     = massData.Data.Rows[nPipeCnt]["관주위"];

                    dr["ASP"]     = massData.Data.Rows[nPipeCnt]["ASP"];
                    dr["CONC"]    = massData.Data.Rows[nPipeCnt]["CONC"];
                    dr["덧씌우기"]    = massData.Data.Rows[nPipeCnt]["덧씌우기"];
                    dr["보도블럭"]    = massData.Data.Rows[nPipeCnt]["보도블럭"];
                    dr["모래부설"]    = massData.Data.Rows[nPipeCnt]["모래부설"];
                    dr["보조기층"]    = massData.Data.Rows[nPipeCnt]["보조기층"];
                    dr["동상방지층"]   = massData.Data.Rows[nPipeCnt]["동상방지층"];
                    dr["구간"]      = pipeRow["구간"];
                    dr["관경"]      = pipeRow["관경"];
                    dr["맨홀규격"]    = pipeRow["맨홀규격"];
                    dr["굴착공법"]    = pipeRow["굴착공법"];
                    dr["Column3"] = pipeRow["Column3"];
                    dr["포장종류"]    = pipeRow["포장종류"];


                    BaseTable.Rows.Add(dr);
                }
            }
        }
Esempio n. 2
0
        private void simpleButton4_Click(object sender, EventArgs e)
        {
            string filename = "";

            splashScreenManager1.SplashFormStartPosition = DevExpress.XtraSplashScreen.SplashFormStartPosition.Default;


            try
            {
                filename = CUtil.LoadExcel(spread3);

                IWorkbook workbook = spread3.Document;

                splashScreenManager1.ShowWaitForm();
                foreach (Worksheet item in workbook.Worksheets)
                {
                    int nRow = item.GetUsedRange().RowCount;


                    IEnumerable <Cell> searchResult = ExcelDataSourceExtension.FindCell(item, "NO");

                    string strPos2;
                    string strPos1;
                    string strPos3;

                    foreach (Cell cell in searchResult)
                    {
                        if (cell.ColumnIndex != 1)
                        {
                            continue;
                        }

                        CMassData Data = new CMassData();
                        Data.SheetName = item.Name;

                        string strPos;


                        strPos1 = string.Format("{0}{1}:{2}{3}", "B", 1, "T", nRow);

                        Data.Data = ExcelDataSourceExtension.ExcelToDataSource(filename, item, strPos1);

                        /*
                         * 토적 데이터가 측점으로 정렬이 안 되어 있음
                         */
                        if (Data.SheetName == "DE")
                        {
                            string aaa = "aaaa";
                        }
                        DataTable sortTable = 토적정렬(Data.Data);
                        Data.Data = sortTable;

                        MassMngr.Add(Data);
                    }
                }

                int nCnt = MassMngr.Data.Count;

                MakeBaseData();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                splashScreenManager1.CloseWaitForm();
            }
        }