问题描述
首先,.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());
}
}
}
解决方法
答案-编写History对象的属性值:foreach(historyData.ItemsSource中的History历史记录){bw.Write(history.Timestamp); ...} –克莱门斯