示例#1
0
        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);
            }
        }