web-gelistirme-sc.com

Bir ızgarada, satırları manuel olarak nasıl yeniden sıralayabilirim?

Kullanıcılarımın bir tablodaki öğeleri yeniden sıralamasına izin vermek istiyorum - bir sütunda otomatik sıralama yapmayın. Hangi elemanın ilk olduğunu, hangisinin birbiri ardına geldiğini vb.

Davaya bağlı olarak çalışabilecek bazı çözümler düşündüm ve gördüm:

  • Sürükle ve bırak: seksi ancak kaydırma veya sayfalama ile uzun ızgaralar için çalışmaz. Başka bir dezavantajı görünmez olması, bu işlevin mevcut olduğunu bile bilmiyor olabilirsiniz. Sonunda biraz beceri gerekiyor. Ancak, aynı anda birden fazla öğeyi taşımak için kullanılabilir.
  • Yukarı/aşağı oklar: küçük hareketler için anlaşılabilir ve kullanımı kolaydır, ancak son elemanı ilk etapta hareket ettirmeniz gerektiğinde sıkıcıdır. Ayrıca, bir öğeyi birkaç adım taşıdığınızda, her bir hareketten sonra o oku yakalamanız gerekir. Bir seferde yalnızca bir eleman üzerinde çalışır.
  • Bir dizin sütunu: kullanıcı, öğenin konumunu gösteren bir sayı girer. Kullanıcı istenen mutlak konumu bildiğinde kullanışlıdır. Mevcut bir numara girilirse ne olacağını tahmin etmek zor. Bir seferde yalnızca bir eleman üzerinde çalışır.

Dizin sütunu + sürükle ve bırak gibi bu tekniklerin ikisini birleştirmek için cazipim, ama her ikisinin de faydaları yerine her ikisinin dezavantajlarını biriktirmekten korkuyorum.

Çalıştığı kanıtlanmış yeniden sıralama teknikleri nelerdir?

5
Mart

Netflix, kuyruklarında üç yöntemi birleştirir. Sürükleyip bırakabilir, ancak belirli bir satır numarasını belirtebilir veya en üste taşımak için tıklayabilirsiniz:

alt text

Yaklaşımları hakkında ilginç bulduğum şey, kullanıcının bir seçim yapmasını ve ardından sayfanın üstünde bir yere tıklamak yerine, her satırda "Üst" simgesini (yeşil daire içine alınmış) koymalarıdır. çoğu web uygulaması bu simgeleri veya düğmeleri koyar.

Sizin durumunuzda, sürükle ve bırak yöntemini kullanırdım, ancak her satıra bir vites simgesi koyardım:

alt text

Bu, birkaç eyleme izin verir:

  • Kullanıcı bir veya daha fazla satırı sürükleyip bırakabilir

  • Kullanıcı birden fazla satır seçebilir, ardından bir menüyü açmak ve istediğiniz sayıda öğeyi (ör. seçimi üste veya alta taşıma, seçimi belirtilen sayıda satır yukarı veya aşağı taşıma (bu durumda küçük bir iletişim kutusu görünür), kopyalama, kesme, vb.

7
Hisham

Nasıl yapılacağını anlamaya çalışmadan önce kendinize sormanız gereken ilk şey, kullanıcıların bunu ne sıklıkta yapacaklarıdır.

Sık sık kullanılacaksa, sürükle bırak özelliğini kullanmanız ve bir kullanıcı belirli bir eşik olduğunda sayfayı otomatik olarak kaydırmanız için oluşturmaya çalışırdım.

Bir kullanıcının oldukça sık bir şey yapması gerekiyorsa ve egzotik bir etkileşim türü ekleyerek bile bunu kolaylaştırabileceğinizi söylemek iyi bir kuraldır. Kullanıcı, daha sonra fayda sağlayacağı için öğrenme eğrisiyle iyi durumda.

Sık kullanılmayacaksa yukarı/aşağı ok yaparım, çıkmıyor olabilir ama açıktır.

3
ThomPete

Yukarı/aşağı okları sürükle ve bırak ile birleştirirdim.

Bazı sayıları tahmin etmek ya da önceden çalışmak zorunda kalmak sadece hantal bir iştir. Çarpışmalar kodla ele alınabilse ve ele alınabilse de, örneğin, girilen rakamın üzerinde veya üstünde olan tüm sayıları arttırarak, çoğu kullanıcı, sadece bir kopya veya yanlış numara işlenir.

Yukarı ve aşağı oklar, kısa mesafelerde yeniden sıralamanın çok daha kolay bir yoludur.

Daha uzun mesafeler ve birden çok öğe hareketi için drag'n'drop eklenebilir. Sürükle ve bırak işleminin tek bir sayfadan daha uzun mesafelerde kullanılabilir olmasını sağlamak için, ızgarada otomatik kaydırma da uygulanmalıdır. Bu, bir sürükleme işlemi sırasında, fareyi ızgaranın üst veya alt kenarlığının belirli bir boşluğu içinde sürüklediğinizde ızgara otomatik olarak kaydırılacağı anlamına gelir. Windows Gezgini tam olarak bunu yapar.

Bunu daha da arttırmak için, kaydırma hızı "kaydırmaya duyarlı" alanda olmaya devam ettikçe kaydırma hızı yavaşlayabilir ve artabilir. Bununla birlikte, dikkatli olun, ayrıca maksimum kaydırma hızı ayarlayın: O kadar çok ve/veya çok hızlı bir şekilde hızlanan otomatik kaydırma ile öfkeye yönlendirildim, her zaman olması gereken yerde ilerledim.

0
Marjan Venema

Drupal CMS bunun 30-50 maddelik listelere ölçeklenerek nispeten daha iyi bir çözüme sahiptir.

Site "bloklarını" yapılandırmak buna bir örnektir - aşağıdaki ekran görüntüsüne bakın.

  • Her öğenin sürükleme ve bırakma işlemleri için kullanılabilecek 4 yollu bir tutamağı vardır.
    Tutamak, öğenin sürüklenebileceği görsel bir "ağaçlandırma" sağlar.
  • Liste bölümlere ayrılmıştır.
    Bir öğeyi belirli bir bölüme taşımak, o öğe için gösterilen birleşik kutudan seçilerek yapılabilir

alt text

"Sürükle ve bırak" yaklaşımı, öğeleri bir adım hareket ettiren oklara sahip olmaktan çok daha yumuşaktır. JIRA bunu yapar ve işleri doğru yere koymak gerçekten zahmetlidir.

0
Bevan

Kullanıcıların sistemi nasıl kullandığınıza bağlıdır:

  • Satır numarası anlamlıysa (örneğin kuyruktaki konum), büyük olasılıkla görüntülemek ve düzenlenebilir hale getirmek istersiniz.

  • "İlk önce bunu yap", yaygın bir işlemse, "en üste taşı" düğmesini (veya en alta taşı) kullanmak isteyebilirsiniz.

  • Kullanıcılarınız klavye kısayolları gibi yukarı ve aşağı kısayolları eklerse, seçimin/odaklamanın hareket ederken satırı izlediğinden emin olun, böylece yukarı kısayoluna 3 kez basmak satırı gerçekten 3 sıra yukarı taşır.

  • Yukarı/aşağı düğmeleri ekleyebilirsiniz, kullanıcılarım bunları çok sevmiyor (kullanıcılarınız farklı olabilir)

  • Ve son olarak, Sürükle ve Bırak, kullanıcılarım satırları yeniden sıralamanın favori yolu - Uygulamamda sürükleme tutamaçları yok ve kullanıcılar sürükleyip bırakmayı başardılar (kullanıcılarınız farklı olabilir)

Ve ne yaparsanız yapın, onu belirli kullanıcılarınızda test ettiğinizden ve nasıl sevdiklerini görün.

0
Nir