private void AlternatingSortByField(List <HRMISModel.Employee> employees, HRMISModel.Employee.EmployeeSortField employeeSortField, int columnNum, string columnTitle, SortOrderEnum defaultSortOrder) { SortOrderEnum sortOrder; if (ViewState[employeeSortField.ToString()] != null) { sortOrder = ViewState[employeeSortField.ToString()].ToString() == SortOrderEnum.Descending.ToString() ? SortOrderEnum.Ascending : SortOrderEnum.Descending; } else { sortOrder = defaultSortOrder.ToString() == SortOrderEnum.Descending.ToString() ? SortOrderEnum.Descending : SortOrderEnum.Ascending; } if (sortOrder == SortOrderEnum.Descending) { //倒序 gvMonthAttendanceList.Columns[columnNum].HeaderText = columnTitle + "<img src='../../image/down.gif' border='0'/>"; ViewState[employeeSortField.ToString()] = SortOrderEnum.Descending.ToString(); SortBase.InsertionSort(employees, new EmployeeComparer(employeeSortField, SortOrderEnum.Descending).Compare); } else { //正序 gvMonthAttendanceList.Columns[columnNum].HeaderText = columnTitle + "<img src='../../image/up.gif' border='0'/>"; ViewState[employeeSortField.ToString()] = SortOrderEnum.Ascending.ToString(); SortBase.InsertionSort(employees, new EmployeeComparer(employeeSortField, SortOrderEnum.Ascending).Compare); } }