首页 > 解决方案 > 将 DataGrid 保存到 Bin

问题描述

首先,.Rows 对我不起作用。相信我,我已经尝试过了,而且我只是一个新手,无法理解为什么它不起作用。在我单击按钮之前,以下代码不会引发错误。然后它崩溃了,我得到:System.InvalidCastException:'无法将'History'类型的对象转换为'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());
                    }
                }
            }

标签: c#wpfdatagridbin

解决方案


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


推荐阅读