[英]Binding to DataGridView Datasource property with List(Of Entity) throw a null reference exception
我尝试为此解决了将近4个小时,但找不到任何解决方案
public class FinalClassScoreModel
{
private readonly FinalClassScore _finalClassScore;
public FinalClassScoreModel(FinalClassScore finalClassScore)
{
this._finalClassScore = finalClassScore;
}
public int EnrollId
{
get
{
return this._finalClassScore.EnrollId;
}
}
public string StudentNo
{
get
{
return this._finalClassScore.Enroll.Student.StudentNo;
}
}
public string ReversedName
{
get
{
return this._finalClassScore.Enroll.Student.ReversedName;
}
}
public decimal? Prelim
{
get
{
return this._finalClassScore.Prelim;
}
}
public string PrelimE
{
get
{
return this._finalClassScore.PrelimE;
}
}
public decimal? Midterm
{
get
{
return this._finalClassScore.Midterm;
}
}
public string MidtermE
{
get
{
return this._finalClassScore.MidtermE;
}
}
public decimal? Final
{
get
{
return this._finalClassScore.Final;
}
}
public string FinalE
{
get
{
return this._finalClassScore.FinalE;
}
}
public decimal? FinalGrade
{
get
{
return this._finalClassScore.FinalGrade;
}
}
public bool IsDropped
{
get
{
return this._finalClassScore.Enroll.IsDropped;
}
}
public bool IsIncomplete
{
get
{
return this._finalClassScore.Enroll.IsIncomplete;
}
}
public bool IsGradeSubmitted
{
get
{
return this._finalClassScore.Enroll.IsGradeSubmitted;
}
}
Public Property FinalClassScoreModels() As IEnumerable(Of FinalClassScoreModel) Implements IAlternativeView.FinalClassScoreModels
Get
Return Me._finalClassScoreModels
End Get
Set(ByVal value As IEnumerable(Of FinalClassScoreModel))
If DesignMode Then Exit Property
Me._finalClassScoreModels = value
Me.dgrAlternativeGrades.DataSource = Me._finalClassScoreModels
End Set
End Property
起初没关系,但是当我在FinalClassScoreModelList上删除1个数据并重新运行Me.dgrAlternativeGrades.Datasource = Me._finalClassScoreModels
,它将在上引发nullreference exception
public string StudentNo
{
get
{
return this._finalClassScore.Enroll.Student.StudentNo;
}
}
顺便说一句,如果我没有在datagridview
上设置每个列的datapropertyname
,它将正常工作,但是我需要设置它,因为我不想自动生成列。
我的项目是vb.net和C#的组合
对于那些也会遇到此问题的初学者,我在FinalClassScoreModel类上做了什么
public class FinalClassScoreModel
{
private readonly FinalClassScore _finalClassScore;
private readonly Enroll _enroll;
public FinalClassScoreModel(FinalClassScore finalClassScore, Enroll enroll)
{
this._finalClassScore = finalClassScore;
this._enroll = enroll;
}
public int EnrollId
{
get
{
return this._finalClassScore.EnrollId;
}
}
public string StudentNo
{
get
{
return this._enroll.StudentNo;
}
}
这样,即使它为null或不为null,也只会获得ot StudentNo的值
谢谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.