예제 #1
0
        //To sort Grid by Id Column
        private void MsgsGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
        {
            if (e.Column.Tag.ToString() == "Id")
            {
                if (e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending)
                {
                    MsgsGrid.ItemsSource = new ObservableCollection <Message>(from item in Messages
                                                                              orderby item.MessageId ascending
                                                                              select item);
                    e.Column.SortDirection = DataGridSortDirection.Ascending;
                }
                else
                {
                    MsgsGrid.ItemsSource = new ObservableCollection <Message>(from item in Messages
                                                                              orderby item.MessageId descending
                                                                              select item);
                    e.Column.SortDirection = DataGridSortDirection.Descending;
                }
            }

            //Eliminar los indicadores sort de las columnas que son el Id
            foreach (var col in MsgsGrid.Columns)
            {
                if (col.Tag.ToString() != e.Column.Tag.ToString())
                {
                    col.SortDirection = null;
                }
            }
        }
예제 #2
0
 private void dg_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
 {
     if (e.Column.Header?.ToString() == "Key")
     {
         currentSort    = "Key";
         dg.ItemsSource = data.OrderBy(t => t.Key);
     }
     else if (e.Column.Header?.ToString() == "Type")
     {
         currentSort    = "Type";
         dg.ItemsSource = data.OrderBy(t => t.TypeName);
     }
 }
예제 #3
0
        private void libraryDataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
        {
            string tag = e.Column.Tag.ToString();
            bool   descendingOrNull = e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending;

            //TODO: implement remaining columns
            switch (tag)
            {
            case "Plays":
                if (descendingOrNull)
                {
                    ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderBy(x => x.PlayCount));
                }
                else
                {
                    ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderByDescending(x => x.PlayCount));
                }
                break;

            case "CreatedTimeLocal":
                if (descendingOrNull)
                {
                    ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderBy(x => x.CreatedTimeUtc));
                }
                else
                {
                    ViewModel.VisibleItems = new ObservableCollection <LibraryItem>(ViewModel.VisibleItems.OrderByDescending(x => x.CreatedTimeUtc));
                }
                break;
            }

            e.Column.SortDirection = descendingOrNull ? DataGridSortDirection.Ascending : DataGridSortDirection.Descending;

            // Remove sorting indicators from other columns
            foreach (DataGridColumn dgColumn in libraryDataGrid.Columns)
            {
                if (dgColumn.Tag.ToString() != e.Column.Tag.ToString())
                {
                    dgColumn.SortDirection = null;
                }
            }
        }
예제 #4
0
        private void userList_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
        {
            DataGridColumn curentSortColumn = e.Column;

            if (curentSortColumn == previousSortColumn)
            {
                if (curentSortColumn.SortDirection == DataGridSortDirection.Ascending)
                {
                    curentSortColumn.SortDirection = DataGridSortDirection.Descending;
                }
                else
                {
                    curentSortColumn.SortDirection = null;

                    previousSortColumn = null;
                }
            }
            else
            {
                curentSortColumn.SortDirection = DataGridSortDirection.Ascending;

                if (previousSortColumn != null)
                {
                    previousSortColumn.SortDirection = null;
                }

                previousSortColumn = curentSortColumn;
            }

            if (curentSortColumn.SortDirection == null)
            {
                userList.ItemsSource = ViewModel.users;
            }
            else
            {
                userList.ItemsSource = sortUserList(curentSortColumn);
            }
        }
        private void DataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
        {
            // Clear previous sorted column if we start sorting a different column
            string previousSortedColumn = viewModel.CachedSortedColumn;

            if (previousSortedColumn != string.Empty)
            {
                foreach (DataGridColumn dataGridColumn in dataGrid.Columns)
                {
                    if (dataGridColumn.Tag != null && dataGridColumn.Tag.ToString() == previousSortedColumn &&
                        (e.Column.Tag == null || previousSortedColumn != e.Column.Tag.ToString()))
                    {
                        dataGridColumn.SortDirection = null;
                    }
                }
            }

            // Toggle clicked column's sorting method
            if (e.Column.Tag != null)
            {
                if (e.Column.SortDirection == null)
                {
                    dataGrid.ItemsSource   = viewModel.SortData(e.Column.Tag.ToString(), true);
                    e.Column.SortDirection = DataGridSortDirection.Ascending;
                }
                else if (e.Column.SortDirection == DataGridSortDirection.Ascending)
                {
                    dataGrid.ItemsSource   = viewModel.SortData(e.Column.Tag.ToString(), false);
                    e.Column.SortDirection = DataGridSortDirection.Descending;
                }
                else
                {
                    dataGrid.ItemsSource   = viewModel.FilterData(DataGridDataSource.FilterOptions.All);
                    e.Column.SortDirection = null;
                }
            }
        }
예제 #6
0
        // Ovo da ide u osnovnu klasu za sve liste
        private void DataGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
        {
            foreach (DataGridColumn dataGridColumn in dataGrid.Columns)
            {
                if (dataGridColumn.Tag != null && e.Column.Tag != null && dataGridColumn.Tag.ToString() != e.Column.Tag.ToString())
                {
                    dataGridColumn.SortDirection = null;
                }
            }

            if (e.Column.Tag != null)
            {
                if (e.Column.SortDirection == null || e.Column.SortDirection == DataGridSortDirection.Descending)
                {
                    dataGrid.ItemsSource   = vm.SortData(e.Column.Tag.ToString(), true);
                    e.Column.SortDirection = DataGridSortDirection.Ascending;
                }
                else
                {
                    dataGrid.ItemsSource   = vm.SortData(e.Column.Tag.ToString(), false);
                    e.Column.SortDirection = DataGridSortDirection.Descending;
                }
            }
        }
예제 #7
0
 private void ResultsGrid_Sorting(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridColumnEventArgs e)
 {
 }