Example #1
0
        protected void AdvancedSortOrderList_ItemReorder(object sender, AjaxControlToolkit.ReorderListItemReorderEventArgs e)
        {
            AdvancedSortOrderList.EditItemIndex = -1;
            ListViewSortColumn colToMove = listSettings.SortColumns[e.OldIndex];

            listSettings.SortColumns.Remove(colToMove);
            listSettings.SortColumns.Insert(e.NewIndex, colToMove);

            SaveAdvancedSortChanges();
        }
Example #2
0
        protected void AdvancedSortOrderList_ItemCommand(object sender, AjaxControlToolkit.ReorderListCommandEventArgs e)
        {
            if (e.CommandName == "direction")
            {
                ListViewSortColumn column = listSettings.SortColumns.SingleOrDefault(sc => sc.ColumnName == e.CommandArgument.ToString());
                column.SortDirection = (column.SortDirection == ColumnSortDirection.Ascending) ? ColumnSortDirection.Descending : ColumnSortDirection.Ascending;

                SaveAdvancedSortChanges();
            }
        }
Example #3
0
        protected void AdvancedSortOrderList_InsertCommand(object sender, AjaxControlToolkit.ReorderListCommandEventArgs e)
        {
            DropDownList        ColumnsDropDownList = (DropDownList)e.Item.FindControl("AddSortColumnsList");
            CheckBox            AddColumnToSortDescendingCheckBox = (CheckBox)e.Item.FindControl("AddColumnToSortDescendingCheckBox");
            ColumnSortDirection newDirection  = (AddColumnToSortDescendingCheckBox.Checked) ? ColumnSortDirection.Descending : ColumnSortDirection.Ascending;
            ListViewSortColumn  newSortColumn = new ListViewSortColumn(ColumnsDropDownList.SelectedValue, newDirection);

            listSettings.SortColumns.Add(newSortColumn);

            SaveAdvancedSortChanges();
        }
Example #4
0
        protected void AdvancedSortOrderList_DeleteCommand(object sender, AjaxControlToolkit.ReorderListCommandEventArgs e)
        {
            ListViewSortColumn column = listSettings.SortColumns.SingleOrDefault(sc => sc.ColumnName == e.CommandArgument.ToString());

            if (column != null)
            {
                listSettings.SortColumns.Remove(column);
            }

            SaveAdvancedSortChanges();
        }
Example #5
0
        /// <summary>
        /// Applies the sorts from a specific user's list view settings.
        /// </summary>
        /// <param name="ticketQuery">The ticket query.</param>
        /// <param name="listViewSettings">The list view settings to sort by.</param>
        /// <returns></returns>
        private static IQueryable <Ticket> ApplySorts(this IQueryable <Ticket> ticketQuery, ListViewSettings listViewSettings)
        {
            IQueryable <Ticket> newQuery = ticketQuery;

            //sorts have to be applied in reverse order as the last applied is the first in the SQL query generated
            for (int x = listViewSettings.SortColumns.Count() - 1; x >= 0; x--)
            {
                ListViewSortColumn column = listViewSettings.SortColumns[x];
                bool isDescending         = (column.SortDirection == ColumnSortDirection.Descending);
                newQuery = newQuery.ApplySort(column.ColumnName, isDescending);
            }
            return(newQuery);
        }
Example #6
0
        protected void SortLinkPreRendering(object sender, EventArgs e)
        {
            ImageButton        btn     = (ImageButton)sender;
            ListViewSortColumn sortCol = ListSettings.SortColumns.SingleOrDefault(sc => sc.ColumnName == btn.CommandArgument);

            if (sortCol != null)
            {
                string imgUrl = string.Format("~/Controls/Images/{0}.png", (sortCol.SortDirection == ColumnSortDirection.Ascending) ? "up" : "down");
                btn.ImageUrl = imgUrl;
            }
            else
            {
                btn.ImageUrl = "~/Controls/Images/nobutton.gif";
            }
        }
Example #7
0
        protected void TicketListView_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            if (e.CommandName == "ChangeSort")
            {
                ListViewSortColumn sortCol = ListSettings.SortColumns.SingleOrDefault(sc => sc.ColumnName == e.CommandArgument.ToString());
                if (sortCol != null)// column already in sort, just flip direction
                {
                    sortCol.SortDirection = (sortCol.SortDirection == ColumnSortDirection.Ascending) ? ColumnSortDirection.Descending : ColumnSortDirection.Ascending;
                }
                else // column not in sort, replace sort with new simple sort for column
                {
                    ListSettings.SortColumns.Clear();
                    ListSettings.SortColumns.Add(new ListViewSortColumn(e.CommandArgument.ToString(), ColumnSortDirection.Ascending));
                }
                userSettings.Save();

                Bind();
                OnSettingsChanged();
            }
        }