web-gelistirme-sc.com

Kullanıcılar için bir tarih aralığı seçmenin daha iyi yolu

Uygulamamda kullanıcılar, sonuçların gerekli olduğu bir tarih aralığı seçiyor. Kullanıcı arayüzü şöyle görünür:

Existing UI

Tarih seçicim belirli bir tarih seçmelerini gerektirdiğinden kullanıcılarım bunu sevmiyor. Bu ihtiyaç duyduklarından çok daha kesindir - sistem tarafından derlenen sonuçların çoğunun aylık veya üç aylık sonuçları vardır. Bazıları sadece yıllıktır.

Ortaya koyduğum iki fikir:

alt text

Sol tarafta, geçerli tarihler arasından seçim yapmak için bir birleşik giriş kutusu kullanın. Bu yaklaşımdaki sorun, sonuçların bazen günlük olacağı ve geçerli tarih aralığının 1860'lara kadar gitmesidir. Bu, bir birleşik giriş kutusunda işlem yapmak için çok fazla öğe ekler.

Sağda, tarihi seçmek için bir üçlü comobox kullanma. Bunun bazı avantajları vardır. Sonuçlar aylık olacaksa, ben gün açılan devre dışı bırakabilir; eğer sonuçlar üç ayda bir yapılacaksa, ay kombine olarak mevcut olan öğeleri de kısıtlayabilirim. Ancak, bu tasarımın kullanılması için bir dizi tıklama gerektirdiği görülüyor.

Kullanıcıların yalnızca "yararlı" tarihleri ​​daha kolay seçmesine olanak tanıyan UX için alternatif bir tasarım nedir?

Teknoloji yığınım C #, WinForms, .NET 3.5

Güncelleme 1 Ekim

  • Kullanıcılarım tarafından seçilen tarih aralıkları genellikle uzun - birkaç yıldan birkaç yıla kadar - seyrek sonuçları uzun bir süre boyunca geri çekiyor.
  • Tanımlanan tek varsayılan varsayılanlar "Başlangıç ​​tarihi için mümkün olduğunca erken" ve "Kadar bugün " bitiş tarihi olarak.

Bugüne kadarki cevaplarda çok iyi fikirler - herkese teşekkürler.

2 Ekim'i Güncelle

  • Aşağıdaki cevaplardan bazıları (ve okurların birçoğunun) rapor oluşturmak için tarih aralığına ihtiyacım olduğunu varsayar. Aslında, uygulamamın bu bölümü daha çok bir sorgu motorudur. Bu ayrıntı yeni fikirlere ilham verirse, lütfen cevaplayın.
46
Bevan

Genel olarak, doğrulama işleminiz gereksiz bir şekilde telaşlı olmadığı ve alt alanlar için iyi bir otomatik düzeltme ve varsayılanlar sağladığı sürece (örneğin, 2-9-04 ayrıca 02/09/2004). Takvim denetimleri, kullanıcının tarihten emin olmadığında (ör. Kullanıcının “gelecek hafta Çarşamba” dediği durumlarda) bir seçenek olarak sunulması mükemmeldir, ancak tarihleri ​​girmenin tek yolu olmamalıdır. Her alt alan için ayrı açılır listeler kullanıcı için yavaşlama sağlar.

Sorgu günlüklerine erişiminiz varsa, kullanıcıların ne tür tarihler kullandığını daha iyi anlamak için bunları inceleyin. 1860'a kadar olan rasgele tarihleri ​​desteklemeniz gerekebilir, ancak tasarımı yalnızca az sayıda tarih veya tarih kalıbı için optimize etmeniz gerekebilir.

İşte bazı olasılıklar:

  • Varsayılan. Muhtemelen sorgularınızın çoğu kullanıcının bulunduğu sayfadan tahmin edilebilir (ör. Sayfaya/pencereye bağlı olarak geçen ay veya son çeyrek veya geçen yıl için). Kimden aralığınızı her sayfa için bu değerlere varsayılan olarak ayarlarsanız kullanıcılar hiçbir şey girmek zorunda kalmazlar.

  • Tipik tarih aralıklarının listesi. Birkaç tarih aralığı sorgularınızın büyük bölümünü oluşturuyorsa (ör. Geçen yılın her ayı), bunları bir liste kutusunda veya radyo düğmesi listesinde listeleyin. Sonuncusu “Özel” olacaktır, bu da kullanıcıların belirli tarihler için takvim kontrollerine sahip birkaç metin kutusu olmasını sağlar.

  • Ortak girişler için açılır menü. Kime ve Kime değerlerinin nispeten küçük bir tahmin edilebilir listesi varsa, her biri kullanıcı türünde herhangi bir tarihi kabul edecek ancak en çok Başlangıç ​​ve Bitiş ortak tarihlerinin (örneğin, Kimden alanı için son yıl).

  • Tek Metin Kutusu. Tarih aralıklarının çoğu tam ay, çeyrek ve yıl ise, tarih aralıklarını girmek için iki yöntem sağlayın. Varsayılan, “Ay, Çeyrek veya Yıl” etiketli tek bir metin kutusuna sahiptir. "Eylül" (varsayılan olarak en son Eylül ayı), "6/09", "3Ç06" ve "1933" gibi girdileri kabul eder. Ne tür dizelerin öngörüleceğini görmek için kullanıcı tarafından yazılmış materyalleri inceleyin. Varsayılan olmayan yöntem, rasgele tarihler için ayrı Kimden metin kutuları sağlar.

  • Mikro gramerler. Çoğunlukla tarih girişinden şikayet eden uzman kullanıcılarınızsa, kullanıcının tam bir tarih veya diğer çeşitli sözdizimi kısayollarını (ör. "Son Çeyrek" veya "LQ" girebileceği Başlangıç ​​ve Bitiş metin kutuları için mikro gramerleri desteklemeyi düşünün. “Başlat kutusundaki en son tamamlanan çeyrek gibi yorumlanır). Bkz. Metin kutusu mikro dilbilgileri ile verimli bir şekilde veri toplama

41
Michael Zuschlag

En son raporların seçilmesi gereken ek noktaları olan bir zaman çizelgesi kaydırıcısını neden düşünmüyorsunuz?

1860'a kadar raporlarınız varsa, ne sıklıkta geri dönmeleri gerekir?

                   | Report XYZ, Jan 12, 1983 |       
<--- Earlier                   \/                         Later --->
|------------------------------||----------------------------------|
     ^      ^ ^  ^            ^    ^   ^    ^   ^ ^ ^ ^ ^

Böyle bir şey görsel olarak seçmelerine izin verebilir mi? Listenin yukarısındaki balondayken, sahip olduklarını görmelerini kolaylaştırmalıdır. Daha önce/Daha sonra bir düğme/sekme yılı veya benzerlerini taşımak için durur. Kaydırıcıya klavyeden erişilebilir.

23
Dominic Hopton

İki takvim kullanın ve seçilemeyen günleri kısın. Kullanıcılarınıza, yalnızca belirli geçerli tarihlerin kısıtlaması ile takvimlerin avantajlarını (bir seferde bir ayın tamamını görebilmeniz, kolayca ileri geri atlayabilmeniz ve istedikleri herhangi bir tarihi seçebilmeniz) sağlayabileceksiniz. Bir kullanıcı soluk bir tarihi tıkladığında, o tarihin neden geçersiz olduğu konusunda geri bildirimde bulunun veya bir açıklama kullanın.

Hipmunk.com bunu basitleştirmek için harika bir iş çıkarıyor. Her zaman görünümde iki takvimleri vardır ve bugünden önceki tarihler grileşir (bu durumda neden belirtmek zorunda olmadıklarını açıklamak için çok açıktır, ancak yapmanız gerekebilir). Bir tarihe tıklamak başlangıç ​​tarihini, tekrar tıklamak da bitiş tarihini seçer. İsterseniz yazabileceğiniz tarih alanlarının nasıl bulunduğuna da dikkat edin ve hangi tarihi seçeceğinizi belirtmek için tıkladığınızda alanlar vurgulanır. Bu alışılmadık ve henüz "beni düşündürme" değil, ancak bu kontrolleri bir dizi zengin widget eklemeden zarif bir şekilde birleştirmenin harika bir yolu. Bunu kontrol et:

Hipmunk's homepage

Hipmunk'in hala IMO yapabileceği bir şey, ekstra bir görsel ayrıntı gibi, kalkış ve dönüşünüz arasındaki günleri vurgulamaktır. Şu anda gözleriniz hala iki tarih arasındaki boşluğu "oh doğru, bu tarihten o tarihe kadar her satır uzak kalacağım yer" olarak ayrıştırmak zorunda.

(Harika bonus: dönüş tarihinden sonra bir çıkış tarihi belirtmeyi deneyin)

6
Rahul

Bu aslında işte kullandığım web tabanlı bir yazılımdan geliyor, ancak fikir WinForms'a oldukça kolay bir şekilde tercüme edilebilir.

Bu kontrol ile her zaman değişen tarih aralıklarında raporlar oluşturuyorum. Metin kutuları maskelenmez ve tarihlere dönüştürülebilen değerler üzerinde affedicidir, bu yüzden farklı tarih aralıklarını sorunsuz bir şekilde metin olarak yazabilirim. Alanın dışına çıktığınızda, tarih "uygun" bir tarih biçimiyle biçimlendirilir. Tarihi anlayamazsa, metin kırmızıya döner ve yanında küçük bir hata sembolü bulunur (mesela 1109 Gibi belirsiz bir tarih yazmışım gibi).

Belirli bir şey yapmam gerekirse, takvimi görmek için metin kutusunun sağındaki takvim düğmesini tıklayabilirim (örneğin, Mart 2009'un üçüncü haftasından raporları görmem gerekirse, tarihleri ​​bilmeme gerek yok) başımın üstünden).

Bu stili tercih ederim, çünkü tarih aralıklarını doldurmam neredeyse bir saniyemi alıyor - sadece 010109 tab 030109 tab ve sonra bir sonraki ayrıntılar grubuna geçiyorum.

alt text

Üst, boş kontrol. Orta, serbest metin tarihi. Alt, tarih formatlı ve takvim kontrolü.

Üçüncü seçeneğinize gelince, bu stili kullanan kullanmam gereken bir yazılım parçam var ve bundan nefret ediyorum - özellikle fareyi kullanmam gerektiğinden. Ayrıca işaret etmek istiyorum, gösterilen tarihler sayfayı yüklediğimde varsayılan tarihler, bu yüzden varsayılan olarak, gelecekten daha büyük, ancak şimdiki zamandan daha az öğe aramamı istiyorum. A BÜYÜK bunun dezavantajı, açılan yıllardaki yılların kodlanmış olması - herhangi bir şeyi arayabilmemiz için 2010'un Şubat 2010'a kadar beklememiz gerekti. son.

alt text

Belirli bir sorgunun yalnızca üç ayda bir sonuç aldığını önceden biliyorsanız, düzeninizi bazılarını değiştirebilir ve şöyle bir seçim ve yıl seçimi yapabilirsiniz:

alt text

Ve henüz üretilmeyen cari yıl için çeyrekleri devre dışı bırakabilirsiniz.

6
Jared Harley

Bütün cevapları okumadım. Belki birileri çoğu kullanıcının çoğu zaman ihtiyaç duyduğu kontrollerle başlamayı ve daha sonra aşamalı olarak ek kontrolleri açıklamayı önerdi. Örneğin, çakışan birkaç tarih aralığı için gün ve ay denetimlerini göstermek üzere bir bağlantıyı tıklayın.

alt text

Veya bu:

alt text

4
JeromeR

İşte benim çözümüm.

FirstSecond

2
Alexandr

bootstrap-daterangepicker jquery eklentisinde kullanılan tasarıma aşığım.

Temel olarak, varsayılan aralıkları ve seçilen aralığı vurgulayan datepickers içeren alanlarla varsayılan alanları vardır. I like it

1
JCM

Kaydırılabilir tarih aralığı alanı: Rusça ile yorumlar içeren 5 etkileşim adımı!

1/3/6/12 ay gibi tipik süreler için tarih aralığı + hazır ayarları http://1ne.twozerotwenty.com/pics/2011/10/show_me_the_date.png

Gerekirse - İngilizce ve demo sayfasında etkileşim ve fonksiyonel alanların tam talimatını yapabilirim.

1
denis.efremov

Benzer bir sorunu nasıl çözdüğüm heres ... 30 gün/60 Gün/90 gün, en yaygın raporları (yıllık/üç aylık/aylık) uyarmak için değiştirebilirsiniz. Tarih aralığı özelliği, özellikle bir tarih aralığı arayan, ancak kullanıcıyı sonuç üretmek için tarih girmeye zorlamayan kullanıcılar için tarih aralığı özelliklerine sahip bir araç ipucu açar. enter image description here

0
Ashlie

Google Takvim uygulamasında (MIUI) nasıl uygulandığını seviyorum. Tarih saatini seçmek için iki iplikçi vardır. Öyle görünüyor:

enter image description here

İlk seçicide tarih saatini ayarladığınızda ikincisi otomatik olarak +1 saate ayarlanır.

0
naXa

jquery ui tarih aralığı seçiciyi kullanmaya ne dersiniz:

http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/

bazı varsayılanları önceden doldurabilir ve yalnızca aylara göre <> oklarına sahip olmak yerine yıl ve ay açılanlar olabilmesi için ayarlanmasını sağlayabilirsiniz.

0
Patricia

Normal görünümlü bir takvim seçici görüntüleyebilirsiniz, ancak kullanıcı ayı başlık çubuğundan seçtiyse, başlangıç ​​ve bitiş tarihlerini otomatik olarak ayın başlangıcı ve bitişi olarak doldurur. Aynı yıl için.

Kullanıcı biraz farklı bir aralık isterse bitiş tarihini geçersiz kılabilir.

Yine de çeyreği nasıl göstereceğinden emin değilim.

0
ChrisF

İki düşünce:

  • Farklı rapor türleri için farklı tarih seçicileri sunabilir misiniz (örneğin, bazılarının yıllık olduğunu söylediniz - bu durumda basit bir metin alanı olabilir - yıldan fazla süreye ihtiyacınız yoktur).

  • Başlangıç ​​/ bitiş tarihi, kullanıcıların raporlama hakkında düşünme şekli midir? Birkaç projede rapor isteyen insanlar üzerinde iki tarih yerine bir tarih ve zaman dilimi açısından düşünmüştüm. Dolayısıyla, üç aylık raporlar için 4 yıl 1980 3. Çeyreğin başlamasını isteyebilirler.

0
adrianh