Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hỏi về Cú pháp, lấy data trong list (LapLich)

Đã tạo 14:24 02-06-2021 Hoạt động 21:46 09-06-2021 242 lượt xem 2 bình luận

Chào mn, cho mình hỏi cú pháp như thế nào ạ.
Mình có 3 bảng dữ liệu:

  1. Class(classid, classname, numstudents, sumday,daystart, dayend, roomid)
  2. Room(roomed, roomname, numofroommax)
  3. Timetable(classid, classname, roomname, daystart)

Mình dùng giải thuật tham lam để sắp lớp (sắp theo tổng số ngày học sumday và ngày bắt đầu, lớp có thgian học ngắn thì sắp trước, theo phòng, theo sỉ sô lớp đúng với sỉ số phòng max) và cho nó hiển thị lên matrix botton (Vận dụng bài Ứng dụng lập lịch C# của Anh Kim Long trên HowKteam)
Vấn đề là khi đưa dl vào list, thì khi gọi hình như mình không thấy dl đâu cả, nó không hiện được lên matrix button. Mong mọi người giúp!!
 

void Load_DSKhoaHoc()
        {
            DateTime date = new DateTime();
            List<KhoaHoc> listKhoahoc = DataKhoaHoc.Instance.LoadList_KhoaHoc();

            List<LoadLapLich> listlaplich = DataLapLich.Instance.LoadList_LapLich();

            List<Phong> listphonghoc = DataPhongHoc.Instance.LoadList_Phong();

            Matrix3 = new List<List<Button>>();

            string query = "select * from LOPHOC";
            DataTable data = LoadDB.Instance.ExecuteQuery(query);

            string query2 = "select * from PHONGHOC";
            DataTable data2 = LoadDB.Instance.ExecuteQuery(query2);
            foreach (KhoaHoc item in listKhoahoc)
            {
                //Button btn = new Button() { Width = Contrl.theWidth2, Height = Contrl.theHeight2 };

               
                    DateTime useDate = new DateTime(date.Year, date.Month, date.Day);

                for (int j = 0; j < listKhoahoc.Count; j++)
                {
                    DateTime used = new DateTime(item.Ngay_BD.Year,
                                                  item.Ngay_BD.Month,
                                                  item.Ngay_BD.Day);
                    int a = dateOfWeek.IndexOf(useDate.DayOfWeek.ToString());
                    foreach (Phong item2 in listphonghoc)
                    {

                        for (int k = 0; k < listphonghoc.Count; k++)
                        {
                            if (item.IDPhong == item2.MaPhong)
                            {
                                if (cmpDate(item.Ngay_BD, DateTime.Now))//cmpDate(useDate2, DateTime.Now)
                                {
                                    for (int i = a; i < a + 3; i++)
                                    {
                                        int a1 = dateOfWeek.IndexOf(used.DayOfWeek.ToString());
                                        Button btn = new Button() { Width = Contrl.theWidth2, Height = Contrl.theHeight2 };
                                        btn = Matrix3[k][a1];
                                        btn.Text = item.TenKhoahoc.ToString();
                                        pnLoadTT.Controls.Add(btn);
                                        used = used.AddDays(2);

                                    }
                                    if (used.AddDays(-7) >= useDate)
                                    {
                                        for (int i = 0; i < 6; i++)
                                        {
                                            Button btn = Matrix3[k][i];
                                            btn.Text = " ".ToString();
                                            //Matrix3.Add(btn);
                                        }
                                    }

                                    // ClearMatrix3();
                                }
                            }
                        }

                    }
                }
                
            }
        }

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Công Minh đã bình luận 23:30 06-06-2021

bạn có thể up code 3 hàm load kia được không ??

 

Công Minh đã bình luận 23:28 06-06-2021

cái này bạn debug query xem lấy đúng chưa, bạn debug sau 3 câu lệnh đổ data cho list xem có dữ liệu không, nếu không có bạn check lại câu query trong sql chạy ntn và bạn viết trong visual studio ra làm sao nha

Câu hỏi mới nhất