我需要能够在可编辑网格中输入数据,动态列由查找表中的行数确定。这不是实际的例子,但它是我正在尝试做的类似的简单案例:
public class Student {
public long ID {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
...
}
public class Assessment {
public long ID {get; set;}
...
}
public class AssessmentQuestion {
public long ID {get; set;}
public long AssessmentID {get; set;}
public int QuestionNo {get; set;}
public int PointValue {get; set;}
...
}
public class StudentAssessment {
public long ID {get; set;}
public long StudentID {get; set;}
public long AssessmentID {get; set;}
...
}
public class StudentAssessmentAnswer {
public long ID {get; set;}
public long StudentAssessmentID {get; set;}
public long AssessmentQuestionID {get; set;}
public int PointsAwarded {get; set;}
public string Comments {get; set;}
...
}
根据上述结构,学生可以进行特定评估。我们可以创建评估,评估问题,学生和学生评估数据。现在,用户正在对评估进行评分,并且她希望浏览所有测试论文并输入每个问题每个学生所获得的分数。因此,为了最大限度地方便使用,评分者应该看到一个可编辑的网格,每行有一个学生姓名,每个问题都有一列,他们可以选中每个问题输入点和评论(如果有的话)的所有单元格。然后,在点击“保存”时,应填充StudentAssessmentAnswer表。当然,阅读应该是外部联接,因为即使学生评估和问题之间没有StudentAssessmentAnswer加入,我们仍然想要输入分数。
那么,当列数取决于此AssessmentID的AssessmentQuestion表中的行数时,如何制作这样的网格?