private void IssuesList_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
string status1 = (string) IssuesList.Rows[e.RowIndex1].Cells[1].Value;
string severity1 = (string) IssuesList.Rows[e.RowIndex1].Cells[2].Value;
string status2 = (string) IssuesList.Rows[e.RowIndex2].Cells[1].Value;
string severity2 = (string) IssuesList.Rows[e.RowIndex2].Cells[2].Value;
int status_result = status_order.FindIndex(x => x == status1) - status_order.FindIndex(x => x == status2);
int severity_result = severity_order.FindIndex(x => x == severity1) - severity_order.FindIndex(x => x == severity2);
if (e.Column.Index == 1)
{
if (status_result != 0)
e.SortResult = status_result;
else if (severity_result != 0)
e.SortResult = severity_result;
else
e.SortResult = ((string) IssuesList.Rows[e.RowIndex1].Cells[3].Value).CompareTo((string) IssuesList.Rows[e.RowIndex2].Cells[3].Value);
e.Handled = true;
}
else if (e.Column.Index == 2)
{
if (severity_result != 0)
e.SortResult = severity_result;
else if (status_result != 0)
e.SortResult = status_result;
else
e.SortResult = ((string)IssuesList.Rows[e.RowIndex1].Cells[3].Value).CompareTo((string)IssuesList.Rows[e.RowIndex2].Cells[3].Value);
e.Handled = true;
}
}