protected Task OnSortClicked(BaseDataGridColumn <TItem> column) { if (Sortable && column.Sortable) { column.Direction = column.Direction.NextDirection(); // When using internal sorting just one column can be sorted! // TODO: planned for 0.9 to enable sorting for all columns if (!ReadData.HasDelegate) { sortByColumn = column; foreach (var col in Columns) { if (col.ElementId == column.ElementId) { continue; } // reset all others col.Direction = SortDirection.None; } } dirtyFilter = dirtyView = true; if (ReadData.HasDelegate) { return(HandleReadData()); } } return(Task.CompletedTask); }
protected Task OnSortClicked(BaseDataGridColumn <TItem> column) { if (Sortable && column.Sortable) { column.Direction = column.Direction == SortDirection.Descending ? SortDirection.Ascending : SortDirection.Descending; sortByColumn = column; // just one column can be sorted for now! foreach (var col in Columns) { if (col.ElementId == column.ElementId) { continue; } // reset all others col.Direction = SortDirection.Ascending; } dirtyFilter = dirtyView = true; if (ReadData.HasDelegate) { return(HandleReadData()); } } return(Task.CompletedTask); }
/// <summary> /// Links the column with this datagrid. /// </summary> /// <param name="column">Column to link with this datagrid.</param> internal void Hook(BaseDataGridColumn <TItem> column) { Columns.Add(column); // save command column reference for later if (CommandColumn == null && column is DataGridCommandColumn <TItem> commandColumn) { CommandColumn = commandColumn; } }
protected Task OnFilterChanged(BaseDataGridColumn <TItem> column, string value) { column.Filter.SearchValue = value; dirtyFilter = dirtyView = true; if (ReadData.HasDelegate) { return(HandleReadData()); } return(Task.CompletedTask); }
protected void OnSortClicked(BaseDataGridColumn <TItem> column) { if (Sortable && column.Sortable) { column.Direction = column.Direction == SortDirection.Descending ? SortDirection.Ascending : SortDirection.Descending; sortByColumn = column; // just one column can be sorted for now! foreach (var col in Columns) { if (col.ElementId == column.ElementId) { continue; } // reset all others col.Direction = SortDirection.Ascending; } dirtyFilter = dirtyView = true; } }
protected void OnFilterChanged(BaseDataGridColumn <TItem> column, string value) { column.Filter.SearchValue = value; dirtyFilter = dirtyView = true; }
protected bool CellAreEditable(BaseDataGridColumn <TItem> column) { return(column.Editable && ((column.CellsEditableOnNewCommand && ParentDataGrid?.EditState == DataGridEditState.New) || (column.CellsEditableOnEditCommand && ParentDataGrid?.EditState == DataGridEditState.Edit))); }
/// <summary> /// Links the column with this datagrid. /// </summary> /// <param name="column">Column to link with this datagrid.</param> internal void Hook(BaseDataGridColumn <TItem> column) { Columns.Add(column); }