private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { ArbitrageItemSorter sorter = null; DrawSortArrow(e.ColumnIndex); string column = dataGridView1.Columns[e.ColumnIndex].DataPropertyName; switch (column) { case "StepOne": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepOne, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "StepTwo": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepTwo, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "StepThree": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepThree, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "Profit": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.Profit, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "PercentBenefit": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.PercentBenefit, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; } List <ArbitrageItem> ailist = dataGridView1.DataSource as List <ArbitrageItem>; if (ailist == null || ailist.Count == 0) { return; } ailist.Sort(sorter); dataGridView1.DataSource = ailist; dataGridView1.Refresh(); }
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { ArbitrageItemSorter sorter = null; DrawSortArrow(e.ColumnIndex); string column = dataGridView1.Columns[e.ColumnIndex].DataPropertyName; switch (column) { case "StepOne": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepOne, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "StepTwo": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepTwo, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "StepThree": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.StepThree, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "Profit": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.Profit, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; case "PercentBenefit": sorter = new ArbitrageItemSorter(ArbitrageItemSorter.SField.PercentBenefit, sortType); //ArbitrageItemSorter.SField.PercentBenefit, SetOrderDirection(column)); break; } List<ArbitrageItem> ailist = dataGridView1.DataSource as List<ArbitrageItem>; if (ailist == null || ailist.Count==0) return; ailist.Sort(sorter); dataGridView1.DataSource = ailist; dataGridView1.Refresh(); }