private void bbBuscarEstoque_Click(object sender, EventArgs e) { TList_PRD_Produto lista = new TCD_PRD_Produto().Select(cbEmpresa.SelectedValue.ToString(), cd_produtoestoque.Text, cd_grupoestoque.Text); if (stSaldoAbaixoMinimo.Checked) { TList_PRD_Produto lProd = new TList_PRD_Produto(); lista.FindAll(p => p.SD_Estoque < p.QT_Min_Estoque).ForEach(p => lProd.Add(p)); bsPRDProduto.DataSource = lProd; } else { bsPRDProduto.DataSource = lista; } }
private void gProduto_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gProduto.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsPRDProduto.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new TRegistro_PRD_Produto()); TList_PRD_Produto lComparer; SortOrder direcao = SortOrder.None; if ((gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new TList_PRD_Produto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gProduto.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new TList_PRD_Produto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gProduto.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsPRDProduto.List as TList_PRD_Produto).Sort(lComparer); bsPRDProduto.ResetBindings(false); gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }