У меня есть требование, чтобы иметь возможность вводить данные в редактируемой сетке с динамическими столбцами, определяемыми количеством строк в таблице поиска. Это не реальный пример, но это похоже, простой случай, что я пытаюсь сделать:Как повернуть строки для редактируемой сетки?
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;}
...
}
В соответствии с приведенной выше структуре, студенты могут принять данную оценку. Мы можем взять на себя данные Оценки, ОценкиQuestion, Student и StudentAssessment, как указано. Теперь пользователь оценивает оценки, и она хочет пройти все тестовые документы и ввести очки, присуждаемые за каждого учащегося за вопрос. Поэтому для максимальной простоты использования грейдер должен увидеть редактируемую сетку с одним именем ученика в каждой строке и столбцами для каждого вопроса, и они могут просто вставлять все ячейки, вводящие точки и комментарии (если есть) для каждого вопроса. Затем при нажатии «Сохранить» должна быть заполнена таблица StudentAssessmentAnswer. Конечно, чтение должно быть связано с внешним соединением, потому что, даже если между оценкой студента и вопросом не существует StudentAssessmentAnswer, мы все же хотим ввести точки.
Итак, как вы создаете сетку, как это, когда количество столбцов зависит от количества строк в таблице AssessmentQuestion для этого оценочного идентификатора?