将 DataGrid 保存到 Bin

Saving DataGrid to Bin

首先,.Rows 对我不起作用。相信我,我已经尝试过了,但我只是一个新手,无法理解为什么它不起作用。在我单击按钮之前,下面的代码不会引发任何错误。然后它崩溃了,我得到:System.InvalidCastException: 'Unable to cast object of type 'History' to type 'System.Windows.Forms.DataGridViewRow'.'

  string file = "history.bin";
        using (BinaryWriter bw = new BinaryWriter(File.Open(file, FileMode.Create)))
        {
            bw.Write(historyData.Columns.Count);
            bw.Write(historyData.Items.Count);
            foreach (System.Windows.Forms.DataGridViewRow row in historyData.Items)
            {
                for (int j = 0; j < historyData.Columns.Count; ++j)
                {
                    object val = row.Cells[j].Value;
                    if (val == null)
                    {
                        bw.Write(false);
                        bw.Write(false);
                    }
                    else
                    {
                        bw.Write(true);
                        bw.Write(val.ToString());
                    }
                }
            }

答案 - 写入 History 对象的 属性 值: foreach (History history in historyData.ItemsSource) { bw.Write(history.Timestamp); ... } – 克莱门斯