private void LstResults_ColumnClick(object sender, ColumnClickEventArgs e) { if (Math.Abs(SortColumn) == Math.Abs(e.Column)) { SortAscend = !SortAscend; LstResults.Columns[e.Column].ImageIndex = SortAscend ? 0 : 1; } else { LstResults.Columns[SortColumn].ImageIndex = -1; LstResults.Columns[SortColumn].TextAlign = LstResults.Columns[SortColumn].TextAlign; SortAscend = true; SortColumn = e.Column; LstResults.Columns[e.Column].ImageIndex = 0; } LstResults.BeginUpdate(); LstResults.ListViewItemSorter = new ListViewItemComparer(e.Column, SortAscend); LstResults.Sort(); LstResults.EndUpdate(); }
private void BtnSearch_Click(object sender, EventArgs e) { BtnPrintSelected.Enabled = false; LstResults.BeginUpdate(); LstResults.Items.Clear(); if (TxtLastName.Text.Length > 0) { var results = Badges.FindAll(badge => badge.LastName.ToLower().StartsWith(TxtLastName.Text.ToLower())); foreach (var badge in results) { var item = new ListViewItem { Text = badge.BadgeNumber.ToString() }; item.SubItems.Add(badge.FirstName); item.SubItems.Add(badge.LastName); item.SubItems.Add(badge.BadgeName); item.Tag = badge; if (badge.Status != "Paid") { item.BackColor = System.Drawing.Color.LightSalmon; } LstResults.Items.Add(item); } } else if (TxtBadgeNumber.Text.Length > 0) { var badge = Badges.First(b => b.BadgeNumber == Convert.ToInt32(TxtBadgeNumber.Text)); if (badge == null) { return; } var item = new ListViewItem { Text = badge.BadgeNumber.ToString() }; item.SubItems.Add(badge.FirstName); item.SubItems.Add(badge.LastName); item.SubItems.Add(badge.BadgeName); item.Tag = badge; if (badge.Status != "Paid") { item.BackColor = System.Drawing.Color.LightSalmon; } LstResults.Items.Add(item); } else { foreach (var badge in Badges) { var item = new ListViewItem { Text = badge.BadgeNumber.ToString() }; item.SubItems.Add(badge.FirstName); item.SubItems.Add(badge.LastName); item.SubItems.Add(badge.BadgeName); item.Tag = badge; if (badge.Status != "Paid") { item.BackColor = System.Drawing.Color.LightSalmon; } LstResults.Items.Add(item); } } LstResults.ListViewItemSorter = new ListViewItemComparer(SortColumn, SortAscend); LstResults.Sort(); LstResults.EndUpdate(); }