DataGridView.Datasource = null; 错误:对象引用未设置为对象的实例

我很困惑为什么将datagridview控件的数据源设置为null,会导致“对象引用未设置为对象的实例”错误。 提前致谢

while (xmlReader.Read()) { if ((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "deposits")) { oDeposit.DepAmt = Convert.ToDouble(xmlReader.GetAttribute("depamount")); oDeposit.DepDate = Convert.ToDateTime(xmlReader.GetAttribute("depdate")); oDeposit.DepositId = Convert.ToInt32(xmlReader.GetAttribute("depid")); oCustomer.addDeposits(oDeposit); **dgvDeposits.DataSource = null;** dgvDeposits.DataSource = oCustomer.Deposits; } } 

您应该使用它而不是将DataSource设置为null:

 dgvDeposits.DataSource = typeof(Deposit); 

请检查以下问题,它可能会对您的例外做出解释。

好的,所以我知道我是新手,但我遇到了同样的问题。 我发现使用DataGridView中的列创建DataTable然后将表设置为DataSource可以解决问题。

 DataTable dt = new DataTable(); dt.Columns.Add("DepAmt", typeof(double)); dt.Columns.Add("DepDate", typeof(DateTime)); dt.Columns.Add("DepositId", typeof(int)); dgvDeposits.DataSource = dt; 

这个网站是我引用的。