コード例 #1
0
ファイル: Form5.cs プロジェクト: raufpramudyana/cable-sizing
        private void openFile()
        {
            DataTable dx = new DataTable();
            OpenFileDialog ofd = new OpenFileDialog();
            if (Standard == 1)
            {
                ofd.Filter = "IEC|*.iec";
            }
            else if (Standard == 2)
            {
                ofd.Filter = "NEC|*.nec";
            }
            
            DataSet ds = new DataSet();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    ds.ReadXml(ofd.FileName);
                    dx = ds.Tables[0];

                    Form1.dtdiameter.Clear();
                    Form1.dtdiameter = ds.Tables[1];

                    int dxcolumn = dx.Columns.Count;
                    int dxrow = dx.Rows.Count;
                    string Input;

                    dataGridView1.Rows.Clear();

                    //NOTE: ALL '.' and ',' still got changed, TODO: Change decimal separator replacing to only decimal data
                    foreach (DataRow row in Form1.dtdiameter.Rows)
                    {
                        if (Form1.decimalseparator == ',')
                        {
                            for (int i = 0; i < Form1.dtdiameter.Columns.Count; i++)
                            {
                                row[i] = Convert.ToString(row[i]).Replace('.', ',');
                            }
                        }
                        else
                        {
                            for (int i = 0; i < Form1.dtdiameter.Columns.Count; i++)
                            {
                                row[i] = Convert.ToString(row[i]).Replace(',', '.');
                            }
                        }
                    }

                    for (int i = 0; i < dxrow; i++)
                    {
                        dataGridView1.RowCount++;
                        for (int k = 0; k < dxcolumn; k++)
                        {

                            if ((k == 8) || ((k >= 10) && (k <= 16)) || ((k >= 18) && (k <= 24)) ||
                                ((k >= 26) && (k <= 37)))
                            {
                                if (Form1.decimalseparator == ',')
                                {
                                    Input = Convert.ToString(dx.Rows[i].ItemArray[k]).Replace('.', ',');
                                    dataGridView1.Rows[i].Cells[k].Value = Input;
                                }
                                else
                                {
                                    Input = Convert.ToString(dx.Rows[i].ItemArray[k]).Replace(',', '.');
                                    dataGridView1.Rows[i].Cells[k].Value = Input;
                                }
                            }
                            else
                            {
                                dataGridView1.Rows[i].Cells[k].Value = dx.Rows[i].ItemArray[k];
                            }
                        }

                    }
                    Form1.j = dxrow - 1;
                    savefile = ofd.FileName;
                    if (Form1.OpenFromMain)
                    {
                        Form1.FileOpened = true;
                    }
                    else
                    {
                        Form1.FileOpened = false;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
                dataGridView1.ClearSelection();
                if (Standard == 1)
                {
                    f1.ChangeFormTitle();
                }
                else if (Standard == 2)
                {
                    f9.ChangeFormTitle();
                }
            }
        }