it-swarm-vi.tech

Cách tốt hơn để người dùng chọn phạm vi ngày

Trong ứng dụng của tôi, người dùng chọn một phạm vi ngày mà kết quả được yêu cầu. Giao diện người dùng trông giống như thế này:

Existing UI

Người dùng của tôi không thích điều này, vì trình chọn ngày yêu cầu họ chọn một ngày cụ thể. Điều này chính xác hơn nhiều so với yêu cầu của họ - hầu hết các kết quả được hệ thống biên soạn có kết quả chỉ hàng tháng hoặc hàng quý. Một số chỉ là hàng năm.

Hai ý tưởng tôi nghĩ ra là:

alt text

Ở bên trái, chỉ cần sử dụng một hộp tổ hợp để chọn từ ngày hợp lệ. Vấn đề với phương pháp này là đôi khi kết quả sẽ là hàng ngày và phạm vi ngày hợp lệ trở lại năm 1860. Điều đó thêm vào quá nhiều mục để xử lý trong một hộp tổ hợp.

Ở bên phải, sử dụng bộ ba comobox để chọn ngày. Điều này có một số lợi thế. Nếu kết quả sẽ là hàng tháng, tôi có thể vô hiệu hóa kết hợp ngày; nếu kết quả sẽ là hàng quý, tôi cũng có thể hạn chế các mục có sẵn trong kết hợp tháng. Nhưng, có vẻ như thiết kế này đòi hỏi cả đống nhấp chuột để sử dụng.

Thiết kế thay thế cho UX cho phép người dùng chọn ngày "hữu ích" dễ dàng hơn?

Ngăn xếp công nghệ của tôi là C #, WinForms, .NET 3.5

Cập nhật ngày 1 tháng 1

  • Phạm vi ngày được người dùng của tôi chọn thường dài - vài năm đến vài thập kỷ - kéo lại kết quả thưa thớt trong một khoảng thời gian dài.
  • Mặc định phổ biến duy nhất đã được xác định là "Càng sớm càng tốt" cho ngày bắt đầu và "Cho đến khi hôm nay " là ngày kết thúc.

Rất nhiều ý tưởng hay trong các câu trả lời cho đến nay - cảm ơn tất cả.

Cập nhật ngày 2 tháng 1

  • Một số câu trả lời dưới đây (và tôi cho rằng nhiều người đọc) đang cho rằng tôi cần phạm vi ngày để tạo báo cáo. Trên thực tế, phần đặc biệt này trong ứng dụng của tôi là một công cụ truy vấn. Nếu chi tiết này truyền cảm hứng cho bất kỳ ý tưởng mới, xin vui lòng trả lời đi.
46
Bevan

Nhìn chung, người dùng khá chính xác và nhanh chóng trong việc nhập ngày dưới dạng chuỗi trong hộp văn bản miễn là xác thực của bạn không cần thiết và cung cấp tự động sửa lỗi và mặc định tốt cho các trường con (ví dụ: chấp nhận 2-9-04 như cũng như 02/09/2004). Các điều khiển lịch rất tuyệt vời để cung cấp dưới dạng tùy chọn khi người dùng không nhất định về ngày (ví dụ: đối với các trường hợp khi người dùng đang suy nghĩ Thứ tư tuần tới, tuần sau), nhưng họ không nên là cách duy nhất để nhập ngày. Việc thả xuống riêng biệt cho từng trường con làm cho nó chậm cho người dùng.

Nếu bạn có quyền truy cập vào nhật ký truy vấn, hãy nghiên cứu chúng để hiểu rõ hơn về loại ngày mà người dùng đang sử dụng. Mặc dù bạn có thể cần hỗ trợ ngày tùy ý từ năm 1860, nhưng bạn chỉ cần tối ưu hóa thiết kế cho một số lượng nhỏ ngày hoặc mẫu ngày.

Đây là một số khả năng:

  • Mặc định. Có thể hầu hết các truy vấn của bạn có thể dự đoán được chỉ từ trang người dùng đang truy cập (ví dụ: cho tháng trước hoặc quý trước hoặc năm ngoái tùy thuộc vào trang/cửa sổ). Mặc định phạm vi Từ-Đến của bạn cho các giá trị này cho mỗi trang và người dùng sẽ hầu như không phải nhập bất cứ thứ gì.

  • Danh sách các phạm vi ngày điển hình. Nếu một vài phạm vi ngày tạo thành phần lớn các truy vấn của bạn (ví dụ: mỗi tháng của năm ngoái), hãy liệt kê chúng trong hộp danh sách hoặc danh sách nút radio. Cái cuối cùng sẽ là tùy chỉnh của người dùng cho phép một vài hộp văn bản với các điều khiển lịch để người dùng nhập ngày cụ thể.

  • Thả xuống cho đầu vào phổ biến. Nếu có một danh sách các giá trị From và To tương đối nhỏ có thể dự đoán được, thì hãy cung cấp tổ hợp From và To được đóng hộp để mỗi người chấp nhận bất kỳ ngày nào do người dùng nhập nhưng với danh sách thả xuống của các ngày Từ và Đến phổ biến nhất (ví dụ: bắt đầu mỗi quý trong năm cuối cùng cho lĩnh vực Từ).

  • Hộp văn bản đơn. Nếu hầu hết các phạm vi ngày là cả tháng, quý và năm, thì hãy cung cấp hai phương pháp nhập phạm vi ngày. Mặc định có một hộp văn bản duy nhất có nhãn Tháng, Quý hoặc Năm; chấp nhận đầu vào như ăn chín tháng chín (mặc định đến tháng 9 gần đây nhất), ăn 6/09, trực tiếp 3Q06 và, 1933. Nghiên cứu tài liệu bằng văn bản của người dùng để xem những loại chuỗi dự đoán. Phương thức không mặc định cung cấp các hộp văn bản Từ-Đến riêng cho các ngày tùy ý.

  • Vi ngữ pháp. Nếu chủ yếu là người dùng chuyên gia của bạn phàn nàn về nhập ngày, thì hãy xem xét hỗ trợ ngữ pháp vi mô cho hộp văn bản Từ và Đến, nơi người dùng có thể nhập một ngày chính xác hoặc nhiều phím tắt cú pháp khác (ví dụ: Các hộp trong hộp Bắt đầu được hiểu là tất cả từ quý hoàn thành gần đây nhất). Xem Thu thập dữ liệu hiệu quả với micro-grammars hộp văn bản

41
Michael Zuschlag

Tại sao không xem xét một thanh trượt dòng thời gian, với các điểm báo cáo gần đây nhất để chọn điểm?

Nếu bạn có báo cáo từ năm 1860, họ có thường xuyên quay lại không?

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

Một cái gì đó như thế có thể cho phép họ chọn nó một cách trực quan? Với bong bóng phía trên danh sách, nó sẽ giúp họ dễ dàng nhìn thấy những gì họ đã có. Trước đó/Sau đó, một nút/tab dừng để di chuyển năm hoặc tương tự. Thanh trượt là bàn phím có thể truy cập.

23
Dominic Hopton

Sử dụng hai lịch và làm mờ những ngày không thể chọn. Bạn sẽ cung cấp cho người dùng của mình lợi thế của lịch (có thể xem toàn bộ một tháng một lần, bỏ qua và chuyển tiếp kịp thời và có thể chọn bất kỳ ngày nào họ muốn) với ràng buộc chỉ một số ngày hợp lệ nhất định. Khi người dùng nhấp vào một ngày mờ, cung cấp cho họ một số phản hồi về lý do tại sao ngày đó không hợp lệ hoặc sử dụng chú thích.

Hipmunk.com thực hiện công việc đơn giản hóa việc này. Họ có hai lịch xem mọi lúc, và ngày trước ngày hôm nay bị mờ đi (rõ ràng là tại sao trong trường hợp này họ không cần phải xác định lý do tại sao, nhưng bạn có thể phải làm vậy). Nhấp vào một ngày sẽ chọn ngày bắt đầu và nhấp lại chọn ngày kết thúc. Lưu ý cách họ cũng có các trường ngày tại chỗ để bạn có thể nhập nếu bạn muốn và các trường được tô sáng khi bạn nhấp để cho biết ngày nào bạn sẽ chọn. Điều này là độc đáo và không hoàn toàn "không làm tôi suy nghĩ", nhưng đó là một cách tuyệt vời để kết hợp các điều khiển này một cách thanh lịch mà không cần thêm một loạt các vật dụng phong phú. Kiểm tra xem nó:

Hipmunk's homepage

Một điều mà Hipmunk vẫn có thể làm IMO là làm nổi bật những ngày giữa khởi hành và trở về của bạn, giống như một chi tiết trực quan bổ sung. Ngay bây giờ, đôi mắt của bạn vẫn phải phân tích không gian giữa hai ngày là "ồ đúng rồi, mỗi hàng từ ngày này cho đến ngày đó là nơi tôi sẽ đi".

(Phần thưởng tuyệt vời: hãy thử chỉ định ngày khởi hành sau ngày trở về)

6
Rahul

Đây thực sự là từ một phần mềm dựa trên web mà tôi sử dụng tại nơi làm việc, nhưng ý tưởng có thể được dịch khá dễ dàng sang WinForms.

Tôi tạo các báo cáo về phạm vi ngày khác nhau mọi lúc với điều khiển này. Các hộp văn bản không bị che khuất và chúng khá tha thứ cho các giá trị có thể được chuyển đổi thành ngày, vì vậy tôi có thể nhắn tin miễn phí cho các phạm vi ngày khác nhau mà không gặp vấn đề gì. Khi bạn rời khỏi trường, ngày được định dạng thành định dạng ngày "thích hợp". Nếu không thể tìm ra ngày, văn bản chuyển sang màu đỏ và có một biểu tượng lỗi nhỏ bên cạnh (như nếu tôi nhập vào một ngày mơ hồ, như 1109).

Nếu tôi cần làm gì đó cụ thể, tôi có thể nhấp vào nút lịch ở bên phải hộp văn bản để xem lịch (giả sử, nếu tôi cần xem báo cáo từ tuần thứ ba vào tháng 3 năm 2009, tôi không cần biết ngày Off đỉnh đầu của tôi).

Tôi thích phong cách này, bởi vì tôi chỉ mất một giây để điền vào các phạm vi ngày - đó chỉ là 010109 tab 030109 tab và sau đó tôi sẽ đến các chi tiết tiếp theo.

alt text

Kiểm soát hàng đầu, trống. Trung, ngày nhắn tin miễn phí. Dưới cùng, ngày được định dạng và kiểm soát lịch.

Đối với tùy chọn thứ ba của bạn, tôi có một phần mềm tôi phải sử dụng sử dụng kiểu đó và tôi ghét nó - đặc biệt là khi tôi phải sử dụng chuột. Tôi cũng muốn chỉ ra, ngày hiển thị là ngày mặc định khi tôi tải trang, vì vậy theo mặc định, tôi muốn tìm kiếm các mục lớn hơn tương lai, nhưng ít hơn hiện tại. A RẤT LỚN nhược điểm là năm này được mã hóa cứng trong các lần thả xuống - chúng tôi phải đợi đến tháng 2 năm 2010 để được thêm vào để chúng tôi có thể tìm kiếm mọi thứ gần đây.

alt text

Nếu bạn biết trước rằng một truy vấn cụ thể chỉ có kết quả hàng quý, bạn có thể thay đổi bố cục của mình và đi kèm với lựa chọn và lựa chọn năm như thế này:

alt text

Và bạn có thể vô hiệu hóa các quý cho năm hiện tại chưa được tạo.

6
Jared Harley

Tôi đã không đọc tất cả các câu trả lời. Có lẽ ai đó đã đề xuất bắt đầu với các điều khiển mà hầu hết người dùng cần hầu hết thời gian, và sau đó dần dần tiết lộ các điều khiển bổ sung. Ví dụ: nhấp vào liên kết để hiển thị các điều khiển cho ngày và tháng, đối với một số phạm vi ngày không chồng lấp, v.v.

alt text

Hoặc này:

alt text

4
JeromeR

Đây là giải pháp của tôi.

FirstSecond

2
Alexandr

Tôi yêu thiết kế được sử dụng trong bootstrap-daterangepicker plugin jquery.

Về cơ bản, nó có các phạm vi mặc định và mặc định từ - đến các trường có bộ đếm ngày làm nổi bật phạm vi đã chọn. I like it

1
JCM

Trường phạm vi ngày có thể cuộn: 5 bước tương tác dưới dạng hình ảnh .Png với nhận xét về tiếng Nga!

daterange + cài đặt trước cho các giai đoạn điển hình là 1/3/6/12 tháng http: //1ne.twozerotoven.com/pics/2011/10/show_me_the_date.png

Nếu được yêu cầu - Tôi có thể thực hiện hướng dẫn đầy đủ về tương tác và các khu vực chức năng trong trang tiếng Anh và bản demo.

1
denis.efremov

Đây là cách tôi giải quyết một vấn đề tương tự ... bạn có thể thay đổi 30 ngày/60 ngày/90 ngày để cảnh báo các báo cáo phổ biến nhất được tạo ra (hàng năm/hàng quý/hàng tháng). Tính năng phạm vi ngày mở ra một mẹo công cụ với khả năng phạm vi ngày cho những người dùng đang tìm kiếm một phạm vi ngày cụ thể, nhưng không bắt buộc người dùng phải nhập ngày để tạo kết quả. enter image description here

0
Ashlie

Tôi thích cách nó được triển khai trong ứng dụng Lịch Google (MIUI). Có hai spinners để chọn ngày-giờ. Đó là vẻ ngoài của nó:

enter image description here

Khi bạn đặt thời gian ngày trong bộ chọn đầu tiên, bộ thứ hai sẽ tự động được đặt thành +1 giờ.

0
naXa

những gì về việc sử dụng bộ chọn phạm vi ngày jquery ui:

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

bạn có thể điền trước một số giá trị mặc định và cài đặt nó để năm và tháng có thể được thả xuống thay vì chỉ có <> mũi tên theo tháng.

0
Patricia

Bạn có thể hiển thị một công cụ chọn lịch tìm bình thường, nhưng nếu người dùng chọn tháng từ thanh tiêu đề thì điều đó sẽ tự động điền vào ngày bắt đầu và ngày kết thúc là ngày bắt đầu và cuối tháng. Tương tự cho năm nay.

Người dùng có thể ghi đè ngày kết thúc nếu họ muốn một phạm vi hơi khác nhau.

Tôi không chắc chắn làm thế nào bạn hiển thị một phần tư mặc dù.

0
ChrisF

Hai suy nghĩ:

  • Bạn có thể trình bày các công cụ chọn ngày khác nhau cho các loại báo cáo khác nhau không (ví dụ: bạn đã nói một số là hàng năm - trong trường hợp đó bạn không cần nhiều hơn năm - có thể là một trường văn bản đơn giản.)

  • Ngày bắt đầu/ngày kết thúc có phải là cách người dùng nghĩ về báo cáo không? Trong một số dự án, tôi đã làm việc với những người muốn báo cáo nghĩ về một ngày và một khoảng thời gian hơn là hai ngày. Vì vậy, để báo cáo hàng quý, họ có thể muốn 4 năm bắt đầu quý 3 năm 1980.

0
adrianh