سؤال

وأنا أعلم ذلك JTable يمكن الفرز حسب عمود واحد.ولكن هل من الممكن السماح بفرز أعمدة متعددة أم أنني بحاجة إلى كتابة الكود بنفسي؟

هل كانت مفيدة؟

المحلول

يمكنك الفرز حسب أعمدة متعددة عن طريق تحديد أكثر من مفتاح فرز عند الاتصال setSortKeys في ال RowSorter الذي تستخدمه.

نصائح أخرى

تفحص JXTable.JXTable هو امتداد لـ JTable الذي يدعم الفرز متعدد الأعمدة، بالإضافة إلى الوظائف الأخرى التي لا يوفرها JTable.إنه متاح مجانًا من JDNC/SwingLabs.

يجب أن تكون قادرًا على ضبط TableRowSorter والمقارنة المرتبطة به.مثال:

TableModel myModel = createMyTableModel();
JTable table = new JTable(myModel);
TableRowSorter t = new TableRowSorter(myModel);
t.setComparator(column that the comparator works against, Comparator<?> comparator);
table.setRowSorter(new TableRowSorter(myModel));

ETable من مجموعة netbeans.
وهو جزء من org-netbeans-swing-outline.jar
بحث جوجل لا شيء لرفعه.يعد ETable في الأساس أساسًا لـ Outline (a TreeTable) ولكنه يحتوي على ترتيب متعدد الأعمدة مدمج بالإضافة إلى العديد من الميزات الرائعة الأخرى

"أعلم أن Jtable يمكنه الفرز حسب عمود واحد.ولكن هل من الممكن السماح بفرز أعمدة متعددة أم أنني بحاجة إلى كتابة الكود بنفسي؟"

تتم إدارة فرز الجدول وتصفيته بواسطة كائن فارز.أسهل طريقة لتوفير كائن فارز هي تعيين الخاصية المرتبطة autoCreateRowSorter إلى true؛

JTable table = new JTable();
table.setAutoCreateRowSorter(true);

يحدد هذا الإجراء فارز الصفوف الذي يعد مثيلًا لـ javax.swing.table.TableRowSorter.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top