| ■No93501 (WebSurfer さん) に返信 > どのようにしたのかコードをアップするなどして具体的に説明してください。 リストにしたところ、目的の列にデータが表示できました。ありがとうございます。 今は日付と関連できておらず、取得したデータがそのまま表示されてしまいます。日付に対応したイベントを行に追加したいです。例:12月5日の行に5日の起動と終了の時間がはいる(休日などでデータがない場合は日付のみで時間は空欄) DateTimeなどはどこにいれて関連付けるのがよいのでしょうか? 以下コードです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;
namespace WindowsFormsApp2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { List<string> datelist = new List<string>(); DateTime dt = DateTime.Now; int iDays = DateTime.DaysInMonth(dt.Year, dt.Month); for (int i = 1; i <= iDays; i++) { datelist.Add(new DateTime(dt.Year, dt.Month,i).ToString("d")); }
List<string> timelist1 = new List<string>(); List<string> timelist2 = new List<string>(); System.Diagnostics.EventLog[] logs = System.Diagnostics.EventLog.GetEventLogs(); foreach (System.Diagnostics.EventLog log in logs) { if (log.Log == "System") { for (int i = log.Entries.Count - 1; i > 0; i--) { if (log.Entries[i].Source == "MicroSoft - Windows - Kernel- General") { if (log.Entries[i].InstanceId == 12) { timelist1.Add(log.Entries[i].TimeGenerated.ToString("[HH;mm;ss]")); } else if (log.Entries[i].InstanceId == 13) { timelist2.Add(log.Entries[i].TimeGenerated.ToString("[HH;mm;ss]")); } } } } } for (int i = 1; i < iDays; i++) { dataGridView1.Rows.Add(); } for (int i = 0; i < datelist.Count; i++) { dataGridView1[0, i].Value = datelist[i]; } for (int i = 0; i < timelist1.Count; i++) { dataGridView1[1, i].Value = timelist1[i]; } for (int i = 0; i < timelist2.Count; i++) { dataGridView1[2, i].Value = timelist2[i]; }
} } }
|