• 1405/06/17

📌تمرین جلسه112-عدم نمایش اطلاعات ثبت شده گریدCourse در گریدPerson :

        private void frmAddOrEdit_Load(object sender, EventArgs e)
        {
            BindList();
            BindDgvPersons();
            txtSearchStudent.PlaceholderText = "لطفا جستجو کنید...";

            if (classId != 0)
            {
                _isEditing = true;
                Text = "ویرایش اطلاعات";
                btnSave.Text = "ویرایش";

                var courses = _Context.Courses.AsNoTracking().SingleOrDefault(c => c.CourseId == classId);
                txtClassName.Text = courses.Title;
                txtStudentCount.Text = courses.StudentCount.ToString();
                txtHours.Value = courses.Hours;
                txtDescription.Text = courses.Description;
                cboTeacher.SelectedValue = courses.TeacherId;

                dgvStudentInClass.AutoGenerateColumns = false;
                var students = _Context.StudentInCourses.AsNoTracking()
                    .Where(s => s.CourseId == classId)
                    .Select(s => new
                    {
                        s.PersonId,
                        FullName = _Context.Persons.AsNoTracking()
                        .Where(p => p.PersonId == s.PersonId)
                        .Select(s => s.Name + " " + s.Family).Single()
                    })
                    .ToList();
                foreach (var student in students)
                {
                    dgvStudentInClass.Rows.Add(student.PersonId, student.FullName);
                }
                BindDgvPersons();
            }
        }

        #region BindList
        void BindList()
        {
            cboTeacher.DataSource = _Context.Persons
                                            .Where(p => p.IsTeacher == true)
                                            .Select(p => new
                                            {
                                                PersonId = p.PersonId,
                                                FullName = p.Name + " " + p.Family
                                            })
                                            .ToList();
            cboTeacher.DisplayMember = "FullName";
            cboTeacher.ValueMember = "PersonId";


        }
        #endregion

        void BindDgvPersons()
        {
            dgvPersons.AutoGenerateColumns = false;
            dgvPersons.Rows.Clear();

            var studentIdInClass = _Context.StudentInCourses
                                   .Where(s => s.CourseId == classId)
                                   .Select(s => s.PersonId).ToList();

            var List = _Context.Persons
                .Where(p => !studentIdInClass.Contains(p.PersonId)).ToList();

            foreach (var person in List)
            {
                string FullName = person.Name + " " + person.Family;
                dgvPersons.Rows.Add(person.PersonId, FullName, person.Mobile, person.Email);
            }
        }
  • 1405/06/17
  • ساعت 09:46

بسیار عالی