private void ClickSortColumn(string columnName) { SortInfoItem resultItem = null; foreach (SortInfoItem item in SortParams) { if (item.ColumnName.Equals(columnName)) { resultItem = item; break; } } if (resultItem == null) { SortParams.Insert(0, new SortInfoItem(SortType.Asc, columnName)); } else if (resultItem.ItemSortType == SortType.Asc && SortParams.IndexOf(resultItem) == 0) { resultItem.ItemSortType = SortType.Desc; } else { SortParams.Remove(resultItem); SortParams.Insert(0, new SortInfoItem(SortType.Asc, columnName)); } }
private void CompleteDaysList() { _tempPeriodsList = GetDataTable(); if (Period.ValuePeriod == ((int)PeriodsEnum.Day).ToString(CultureInfo.InvariantCulture)) { SourceCash.CompleteDaysTable(Period.ValueDateFrom, Period.ValueDateFrom, EmployeeId, Tz); } else { SourceCash.CompleteDaysTable(Period.ValueDateFrom, Period.ValueDateTo, EmployeeId, Tz); } var tAllRows = SourceCash.GetSourceTable(!_notDisplayEmpty); _summaryWorkTime = SourceCash.GetSummaryWorkTime(); _summaryAbsentTime = SourceCash.GetSummaryAbsentTime(); _totalRecord = tAllRows.Rows.Count; var sortTagDayValue = string.Empty; SortTagStartTime = string.Empty; SortTagEndTime = string.Empty; var sortTagAbsentTime = string.Empty; var sortTagInterval = string.Empty; var sortTagInternetAccessCount = string.Empty; var sortTagInternetAccessTotal = string.Empty; foreach (SortInfoItem item in SortParams) { if (SortParams.IndexOf(item) == 0) { var strUpEnabledGif = string.Format("<IMG SRC=\"{0}ScrollUpEnabled.GIF\" border=0>", Global.Styles); var strDownEnabledGif = string.Format("<IMG SRC=\"{0}ScrollDownEnabled.gif\" border=0>", Global.Styles); switch (item.ColumnName) { case "DAY_VALUE": if (item.ItemSortType == SortType.Asc) { sortTagDayValue = sortTagDayValue + strUpEnabledGif; } else { sortTagDayValue = sortTagDayValue + strDownEnabledGif; } break; case "START_TIME": if (item.ItemSortType == SortType.Asc) { SortTagStartTime = SortTagStartTime + strUpEnabledGif; } else { SortTagStartTime = SortTagStartTime + strDownEnabledGif; } break; case "END_TIME": if (item.ItemSortType == SortType.Asc) { SortTagEndTime = SortTagEndTime + strUpEnabledGif; } else { SortTagEndTime = SortTagEndTime + strDownEnabledGif; } break; case "ABSENT_TIME_SORT": if (item.ItemSortType == SortType.Asc) { sortTagAbsentTime = sortTagAbsentTime + strUpEnabledGif; } else { sortTagAbsentTime = sortTagAbsentTime + strDownEnabledGif; } break; case "INTERVAL_SORT": if (item.ItemSortType == SortType.Asc) { sortTagInterval = sortTagInterval + strUpEnabledGif; } else { sortTagInterval = sortTagInterval + strDownEnabledGif; } break; case "INTERNET_ACCESS_COUNT": if (item.ItemSortType == SortType.Asc) { sortTagInternetAccessCount = sortTagInternetAccessCount + strUpEnabledGif; } else { sortTagInternetAccessCount = sortTagInternetAccessCount + strDownEnabledGif; } break; case "INTERNET_ACCESS_TOTALTIME": if (item.ItemSortType == SortType.Asc) { sortTagInternetAccessTotal = sortTagInternetAccessTotal + strUpEnabledGif; } else { sortTagInternetAccessTotal = sortTagInternetAccessTotal + strDownEnabledGif; } break; } } } bcDayValue.HeaderText = string.Format( "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'DAY_VALUE');\">{0}</A>   <A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'DAY_VALUE');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>", Resx.GetString("lblDate"), sortTagDayValue); bcAbsentTime.HeaderText = string.Format( "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'ABSENT_TIME_SORT');\">{0}</A>   <A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'ABSENT_TIME_SORT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>", Resx.GetString("сAbsent"), sortTagAbsentTime); bcInterval.HeaderText = string.Format( "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERVAL_SORT');\">{0}</A>   <A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERVAL_SORT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>", Resx.GetString("cInterval"), sortTagInterval); bcInternetAccessCount.HeaderText = string.Format( "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_COUNT');\">{0}</A>   <A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_COUNT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>", Resx.GetString("cInternetAccessCount"), sortTagInternetAccessCount); bcInternetAccessTotalTime.HeaderText = string.Format( "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_TOTALTIME');\">{0}</A>   <A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_TOTALTIME');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>", Resx.GetString("cInternetAccessTotalTime"), sortTagInternetAccessTotal); var pageNo = pagerBar.Disabled ? 1 : pagerBar.CurrentPageNumber - 1; var pageRowCount = pagerBar.Disabled ? RowsPerPageSetting : pagerBar.RowsPerPage; pageRowCount = pageRowCount == 0 ? 35 : pageRowCount; var rows = tAllRows.Select("", SortString); var lastPageNo = (rows.Length - 1) / pageRowCount; pagerBar.MaxPageNumber = lastPageNo + 1; if (rows.Length > 0) { if (pageNo > lastPageNo) { pageNo = lastPageNo; } int copyLen; if (pageNo < lastPageNo) { copyLen = pageRowCount; } else { copyLen = rows.Length - pageRowCount * pageNo; } for (var i = pageNo * pageRowCount; i < pageNo * pageRowCount + copyLen; i++) { _tempPeriodsList.Rows.Add(rows[i].ItemArray); } } _tempPeriodsList.DefaultView.Sort = SortString; if (tAllRows.Rows.Count > 1) { _totalTag = string.Format( "<tr><td colspan='4' align='right'><b>{0} </b></td><td align='center'><b>{1}:{2}:{3}</b></td><td align='center'><b>{4}:{5}:{6}</b></td></tr></table>", Resx.GetString("lTotal"), _summaryWorkTime.Hours + _summaryWorkTime.Days * 24, _summaryWorkTime.Minutes.ToString("D2"), _summaryWorkTime.Seconds.ToString("D2"), _summaryAbsentTime.Hours + _summaryAbsentTime.Days * 24, _summaryAbsentTime.Minutes.ToString("D2"), _summaryAbsentTime.Seconds.ToString("D2")); } else { _totalTag = "</table>"; } intervalList.DataSource = _tempPeriodsList; intervalList.DataBind(); foreach (DataGridItem item in intervalList.Items) { var index = item.DataSetIndex; if (index < _tempPeriodsList.Rows.Count) { string descr; var isRedDay = IsRedDay((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"], out descr); var dateValue = string.Format( "{0}(<font color=\"{2}\">{1}</font>) <font color=\"{2}\">{3}</font>", ((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"]).ToString("dd.MM.yyyy"), ((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"]).ToString("ddd", IsRusLocal ? new CultureInfo("ru-RU") : new CultureInfo("en-US")), isRedDay ? "#FF0000" : "#000000", descr); item.Cells[1].Text = "<div>" + dateValue + "</div>"; } } }