private void cmbSort_SelectionChangeCommitted(object sender, EventArgs e) { // hàng mới, giá tăng dần, giá giảm dần, hãng sx int SelectedIndex = cmbSort.SelectedIndex; int nComboBoxSeletedValue = ComboBox_CurrentSelectedValue; listProducts.Clear(); GridPanel.Clear(); PanelGridProduct.Controls.Clear(); // nếu chọn tất cả thì cho = -1 if (cmbProductCategories.GetItemText(cmbProductCategories.SelectedItem) == "Tất cả") { nComboBoxSeletedValue = -1; } // lây danh sách sản phẩm dựa vào loại sản phẩm DataTable dtProducts = null; switch (SelectedIndex) { case (int)SortTypeIndex.Khong: GetDataProducts(nComboBoxSeletedValue); break; case (int)SortTypeIndex.GiaGiamDan: // chọn sản phẩm được xếp theo giá giảm dần dtProducts = bus_Products.BUS_GetProductInfoByCategoryIDAndTypeSort (nComboBoxSeletedValue, (int)SortTypeIndex.GiaGiamDan); break; case (int)SortTypeIndex.GiaTangDan: // chọn sản phẩm được xếp theo giá dtProducts = bus_Products.BUS_GetProductInfoByCategoryIDAndTypeSort (nComboBoxSeletedValue, (int)SortTypeIndex.GiaTangDan); break; case (int)SortTypeIndex.HangSanXuat: // chọn sản phẩm được xếp theo hãng sản xuất dtProducts = bus_Products.BUS_GetProductInfoByCategoryIDAndTypeSort (nComboBoxSeletedValue, (int)SortTypeIndex.HangSanXuat); break; } if (SelectedIndex != (int)SortTypeIndex.Khong) { if (dtProducts == null) { MessageBox.Show("Có lỗi xảy ra khi load dữ liệu!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } foreach (DataRow row in dtProducts.Rows) { DTO_Product product = new DTO_Product { ID = int.Parse(row["ID_MASP"].ToString()), CategoryID = int.Parse(row["ID_MALOAI"].ToString()), ManufacturerID = int.Parse(row["ID_HANGSX"].ToString()), ProductName = row["TENSP"].ToString(), ProductQuantity = int.Parse(row["SOLUONG"].ToString()), ProductPrice = int.Parse(row["DONGIA"].ToString()), ProductImage = (Byte[])row["HINHANH"] }; listProducts.Add(product); } } if (listProducts.Count == 0) { MessageBox.Show("Không có data để hiển thị!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // get max cell this.GetMaxCellInPage_PanelGridProducts(); // get max page this.GetMaxPage_PanelGridProducts(); // load data vô current page RenderFrameAndDataToCurrentPage(); }