Гибкий:DataGrid, управляемый базой данных:стрелки исчезают
-
11-07-2019 - |
Вопрос
В Flex я использую следующий код, чтобы разрешить сортировку в DataGrid (данные выгружаются и сортируются на стороне сервера).
private function headerReleaseHandler(event:DataGridEvent):void { var column:DataGridColumn = DataGridColumn(event.currentTarget.columns[event.columnIndex]); if(this.count>0) { if(this.query.SortField == column.dataField) { this.query.SortAscending = !this.query.SortAscending; } else { this.query.SortField = column.dataField; this.query.SortAscending = true; } this.fill(); } event.preventDefault(); }
Это работает отлично, за исключением того, что стрелки, указывающие сортировку, не отображаются.Как я могу это сделать?
Спасибо!/Нильс
Решение
Здесь есть пример, если это то, что вы ищете:http://blog.flexexamples.com/2008/02/28/displaying-the-sort-arrow-in-a-flex-datagrid-control-without-having-to-click-a-column/
Похоже, вам необходимо обновить коллекцию, используемую вашим поставщиком данных.
Другие советы
Я столкнулся с той же проблемой, и единственным решением, которое я нашел, было переопределить DataGrid и создать собственный.Вот класс:
public class DataGridCustomSort extends DataGrid
{
public function DataGridCustomSort()
{
super();
addEventListener(DataGridEvent.HEADER_RELEASE,
headerReleaseHandlerCustomSort,
false, EventPriority.DEFAULT_HANDLER);
}
public function headerReleaseHandlerCustomSort(event:DataGridEvent):void {
mx_internal::sortIndex = event.columnIndex;
if (mx_internal::sortDirection == null || mx_internal::sortDirection == "DESC")
mx_internal::sortDirection = "ASC";
else
mx_internal::sortDirection = "DESC";
placeSortArrow();
}
}
Вам необходимо специально вызвать метод PlaceSortArrow() при получении события HEADER_RELEASE и установить индекс столбца и информацию о направлении.
в приведенном выше коде «это» относится к сетке данных, потому что меня смущает this.query.SortField , я предполагаю, что «это» и «запрос» являются вашими собственными объектами.и почему вы проверяете количество.какой это счет.
С уважением -мохан