如何生成多个DatagridviewColumns并用不同的数据填充它们?

时间:2017-10-11 00:27:27

标签: c#

我使用datatable绑定datagridview。 问题是我想要绑定。

而不是在我的datagridview中获取组合框我得到了

  

“DataGridViewComboBoxColumn {Name = Przedmioty,Index = -1}”

导致此问题是因为我没有将此控件添加到datagridview? Datagridview无法从DataTable推断出这一点? 如何使用combobox为每位教师填充不同的数据,因为当我将这个组合框添加到datagridview时,所有教师将使用相同的数据共享相同的控件实例。

 var result = (from T in Teachers
                              select
                              new
                              {
                                  TeachersName = T.Name,
                                  LecturesAssigned = T.Lectures.ToList(),

                             }).ToList();

 DataTable dt = new DataTable();
                dt.Columns.Add("Name", typeof(string));
                dt.Columns.Add("Lectures", typeof(DataGridViewComboBoxColumn));
                DataGridViewComboBoxColumn lectures = new DataGridViewComboBoxColumn();
                lectures.DataPropertyName = "Lectures";
                lectures.Name = "Lectures";

            for (int i = 0; i < result.Count; i++)
            {
                foreach(Lecture l in result[i].LecturesAssigned)
                {
                    lectures.Items.Add(l.LectureName);
                }

                dt.Rows.Add(result[i].TeacherName, lectures);
            }

            dataGridView1.DataSource = dt;

0 个答案:

没有答案