/// <summary> /// PLH를 Grid로 불러온다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton1_Click(object sender, EventArgs e) { String FileName; String RLine; CPLH LToR = new CPLH(); LToR.m_dt.Clear(); gridControl1.DataSource = LToR.m_dt; openFileDialog1.Filter = "PLH 파일 (*.PLH)|*.PLH|모든파일(*.*)|*.*"; openFileDialog1.Multiselect = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { foreach (string strFileName in openFileDialog1.FileNames) { FileName = Path.GetFileName(strFileName); using (StreamReader SR = new StreamReader(strFileName, Encoding.Default)) { while ((RLine = SR.ReadLine()) != null) { LToR.LineToRecord(FileName, RLine); } } } gridControl1.DataSource = LToR.m_dt; //MessageBox.Show(LToR.m_dt.Rows.Count.ToString()); adView1.BestFitColumns(); } }
/// <summary> /// 그리드 컬럼의 포맷을 처리한다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void adView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { CPLH plh = new CPLH(); ColumnView view = sender as ColumnView; if (e.Column.FieldName == CUtil.GetName(CPLH.enumPLH.dist) && e.ListSourceRowIndex != DevExpress.XtraGrid.GridControl.InvalidRowHandle) { double dist = Convert.ToDouble(e.Value); e.DisplayText = string.Format("{0,4:#0.00}", dist); } }
public static DataTable LoadXmlToPLH() { using (OpenFileDialog OpenDlg = new OpenFileDialog()) { if (OpenDlg.ShowDialog() == DialogResult.OK) { CPLH plh = new CPLH(); DataSet ds = new DataSet(); ds.ReadXml(OpenDlg.FileName); return(ds.Tables[0]); } } return(null); }
/// <summary> /// PLH Data 관리 Class /// </summary> /// <summary> /// CellValue가 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void adView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { GridView view = sender as GridView; DataRow Dr; Dr = view.GetDataRow(e.RowHandle); if (e.Column.FieldName.Trim() == "BaseAngle") { //PLH TAB의 기초각을 편집할 경우 수식을 모래부설에 적용한다. CPLH LToR = new CPLH(); Dr["sand"] = LToR.CalcBaseAngle(Dr).ToString($"F{3}"); } else { ReCalcArea(Dr); } }
/// <summary> /// 그리드를 PLH 파일로 저장한다. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton4_Click(object sender, EventArgs e) { CPLH LToR = new CPLH(gridControl1.DataSource as DataTable); //LToR.RecordToLine(); }