仅显示来自多个表

时间:2017-04-16 23:04:06

标签: c# datagridview

here is model pic

我想在datagridview中显示列表,但是有特定列: GodinaUpisa,BrojIndeksa,Ime i Prezime,Ocena

我通过在班级学生中覆盖toString()来获得Ime i Prezime。

这是代码的简短版本。还有while循环等,在执行方法后返回citac=Readerlista= new List<Polozio>(),除了以下部分之外一切正常,因为我不知道该怎么做。

SQL:

SELECT * FROM TPolozio INNER JOIN TStudent ON (TStudent.[BrojIndeksa] = TPolozio.[BrojIndeksa]) AND (TStudent.[GodinaUpisa] = TPolozio.[GodinaUpisa]) WHERE SifraPredmeta="+p.SifraPredmeta+" ORDER BY TPolozio.GodinaUpisa

这是代码的一部分:

Student s = new Student();
s.GodinaUpisa = citac.GetInt32(0);
s.BrInd = citac.GetInt32(1);
s.Ime = citac.GetString(2);
s.Prezime = citac.GetString(3);
s.Godina = citac.GetInt32(4);

Polozio po = new Polozio();
po.BrPrijave = citac.GetInt32(5);
po.Student = s;
po.Predmet = p;
po.Ocena = citac.GetInt32(9);
lista.Add(po);

1 个答案:

答案 0 :(得分:0)

您可以在代码中向DataGridView添加列

  

这将确定DataGridView中的列:

dataGridView1.Columns.Add("ID", "ID"); dataGridView1.Columns.Add("Name", "Name");

您可以将LINQ ForEach用于列表并将其添加到DataGridView

list.ForEach(m =>
                {
                    dataGridView1.Rows.Add(m.ID, m.Name); //in your case, this is properties of Polozio class.
                }
            );

如果您不熟悉ForEach,则可以在列表中使用For循环。

enter image description here