public Form1() { InitializeComponent(); SaveDefaultLayout(); if(System.IO.File.Exists(_dataFileName)) { //データファイルからデータを取得 using (System.IO.StreamReader sr = new System.IO.StreamReader( _dataFileName, System.Text.Encoding.GetEncoding("shift_jis"))) { System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(AllData)); _allData = (AllData)serializer.Deserialize(sr); } //行の追加 foreach (Data data in _allData.dataList) { this.dataGridView1.Rows.Add(data.Check, data.Title, data.Time,data.Day,data.ID); } } else { XmlDocument document = new XmlDocument(); XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "shift_jis", null); // XML宣言 XmlElement root = document.CreateElement("anime"); // ルート要素 document.AppendChild(declaration); document.AppendChild(root); // ファイルに保存する document.Save(_dataFileName); } //レイアウトのロード if (System.IO.File.Exists(_configFileName)) LoadLayout(); //表データを保存 SaveGrid(); RestTimeDisplay(); }
/// <summary> /// グリッドデータリストの作成 /// </summary> private void CreateAllData() { _allData = new AllData(); //n行目をIDとし、列の総覧によってグリッドの各列を保存して1つのxml部分を作る for (int row = 0; row < this.dataGridView1.RowCount; row++) { Data data = new Data(); for (int col = 0; col < this.dataGridView1.ColumnCount; col++) { switch (col) { case (int)ColumnName.Check: if (this.dataGridView1[col, row].Value != null) data.Check = bool.Parse(this.dataGridView1[col, row].Value.ToString()); else data.Check = false; break; case (int)ColumnName.Title: if (this.dataGridView1[col, row].Value != null) data.Title = this.dataGridView1[col, row].Value.ToString(); else data.Title = string.Empty; break; case (int)ColumnName.Time: if (this.dataGridView1[col, row].Value != null) data.Time = this.dataGridView1[col, row].Value.ToString(); else data.Time = string.Empty; break; case (int)ColumnName.DayOfWeek: if (this.dataGridView1[col, row].Value != null) data.Day = this.dataGridView1[col, row].Value.ToString(); else data.Day = string.Empty; break; case (int)ColumnName.ID: if (this.dataGridView1[col, row].Value != null) data.ID = this.dataGridView1[col, row].Value.ToString(); else data.ID = string.Empty; break; } } _allData.dataList.Add(data); } }