如何优雅地解决此出勤表问题?
|
基本上,我想显示所有学生的列表(最左边有他们的名字),并在每行(每个学生)上显示comboBox中所选月份的每个日期。
我对如何解决这个问题感到困惑。
这是我到目前为止的内容:
//cmbMes is the combobox that holds each month to be selected.
private void cmbMes_SelectedIndexChanged(object sender, EventArgs e)
{
dataGridView1.DataSource = null;
int gradeParaleloId = Convert.ToInt32(cmbGradeParalelo.SelectedValue);
var studentRepo = new StudentRepository();
var students = studentRepo.FindAllStudentsFromGradeParalelo(gradeParaleloId);
var rows = new List<DataGridViewRow>();
foreach (var student in students)
{
DataGridViewRow newRow = new DataGridViewRow();
newRow.SetValues(new object[] { \"test\", \"test\", \"test\" });
rows.Add(newRow);
}
dataGridView1.DataSource = rows;
}
因此,出于测试目的,我在那做了。它正在获取正确的学生,但是SetValues方法似乎并没有按照我认为的去做。
目前,我愿意提出建议。我之所以只做这种事情,是因为我才刚刚开始解决它。也许有一些使用Linq-fu的更好的方法。
具体的问题是,这是正确的方法吗?创建DataGridViewRows的集合并将它们设置为.DataSource吗?
感谢您的建议。
没有找到相关结果
已邀请:
1 个回复
坝硷操
诀窍是将属性名称转换为列。您无需在此处使用DataGridViewRow类型。