/// <summary> /// Load event occurs before window is shown to user /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CategoryForm_Load(object sender, EventArgs e) { // Setup column headers LvCategories.Columns.Add("Category"); LvCategories.Columns.Add("Count"); // Obtain category counts and categories from db List <CatTotalViewModel> catTotals = (from cat in db.Products group cat.Category by cat.Category into cats select new CatTotalViewModel { ProdCat = cats.Key, CatCount = cats.Count() }).ToList(); //List<CatTotalViewModel> linqMethod = db.Products.GroupBy(cat => cat.Category) // .Select(cats => new CatTotalViewModel { ProdCat = cats.Key, CatCount = cats.Count() }).ToList(); foreach (CatTotalViewModel item in catTotals) { // create a string with the product category and it's respective counts string[] listitems = { item.ProdCat, item.CatCount.ToString() }; // call the constructor ListViewItem lvi = new ListViewItem(listitems); // add the item as a row in the list view LvCategories.Items.Add(lvi); } // Update column sizes adaptively LvCategories.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize); LvCategories.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.HeaderSize); }
private void CategoryForm_Load(object sender, EventArgs e) { //List<CategoryTotal> prodTotals = (from cat in db.Products // group cat.Category by cat.Category into c // select new CategoryTotal // { // Category = c.Key, CatCount = c.Count() // }).ToList(); List <CategoryTotal> catTotals = db.Products.GroupBy(cat => cat.Category) .Select(c => new CategoryTotal { Category = c.Key, CatCount = c.Count() }).ToList(); foreach (CategoryTotal item in catTotals) { string[] listValue = { item.Category, item.CatCount.ToString() }; ListViewItem listViewItem = new ListViewItem(listValue); LvCategories.Items.Add(listViewItem); } LvCategories.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize); LvCategories.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.HeaderSize); }