فليكس: قاعدة بيانات مدفوعة DataGrid: السهام تختفي
-
11-07-2019 - |
سؤال
في فليكس أنا باستخدام التعليمات البرمجية التالية للسماح للفرز في 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(); }
وهذا يعمل تماما، إلا أن الأسهم التي تشير إلى الفرز لا يظهر. كيف يمكنني تحقيق ذلك؟
وشكرا! / نيلز
المحلول
وهناك مثال هنا إذا كان هذا هو ما كنت تبحث عن: <وأ href = "http://blog.flexexamples.com/2008/02/28/displaying-the-sort-arrow-in-a-flex-datagrid-control-without-having-to-click-a-column / "يختلط =" noreferrer "> http://blog.flexexamples.com/2008/02/28/displaying-the-sort-arrow-in-a-flex-datagrid-control-without-having-to-click- على عمود /
ويبدو أنك تحتاج إلى تحديث مجموعة يستخدمه dataprovider الخاص بك.
نصائح أخرى
ولقد واجهت نفس المشكلة وكان الحل الوحيد الذي وجدت لتجاوز في 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 وتعيين مؤشر العمود والمعلومات الاتجاه.
في رمز أعلاه ماذا "هذا" الرجوع إلى هو عليه في DataGrid لأنني في حيرة من this.query.SortField، وأنا على افتراض "هذا" و "الاستعلام" هي كائنات المخصصة الخاصة بك. ولماذا فحص لالعد. ما يهم هو أن.
والتحيات -Mohan