2010-05-24 59 views
7

Tôi đang phát triển một ứng dụng MVC2 thương mại yêu cầu một mạng lưới có bản cập nhật gọi lại ở một số biểu mẫu để hỗ trợ 10.000 hàng trở lên. Nó cũng nên hỗ trợ nội dung tương đối phong phú (biểu tượng, mô tả nhiều dòng, v.v.). Mặc dù nó đòi hỏi các tính năng phân trang/di chuyển/phân loại thông thường, nó không cần hỗ trợ cho việc nhóm. Vì vậy, không có gì đặc biệt.DataGrid nào được sử dụng cho dự án ASP.NET MVC2?

Lưới thương mại mà tôi xem là Component Art và Telerik trông rất đẹp nhưng có thể là một chút OTT cho những gì tôi cần. Họ cũng là $ 800 và $ 999 tương ứng (1 nhà phát triển).

Tôi cũng đã xem jqGrid và lưới từ MvcContrib. Chúng xuất hiện ok nhưng đối với một ứng dụng thương mại, tôi lo ngại rằng đây có thể là các tùy chọn rủi ro - mặc dù có thể sai ở đó.

Tôi thực sự đánh giá cao bất kỳ lượt xem/exprience nào trên các lưới trên hoặc có lẽ bạn có thể đề xuất lựa chọn/cách tiếp cận tốt hơn.

FYI Tôi đang sử dụng EF4 và C#.

Trả lời

5

Tôi có khá nhiều kinh nghiệm với jqGrid, lưới từ DevExpress và telerik, cũng như ExtJS. Cho đến nay, yêu thích của tôi về bó là jqGrid. Tôi không quan tâm đến việc thiếu sự hỗ trợ hoặc dự án sẽ biến mất. Gần đây họ đã giới thiệu một lưới được thiết kế lại để sử dụng với MVC: http://www.trirand.com/blog/?p=639

telerik và DevExpress đều tuyệt vời theo cách riêng của chúng. Một người bạn của tôi đã có vấn đề với mô hình sự kiện của lưới telerik, và tôi đã trải qua khá nhiều 'html bloat' từ lưới DevExpress. telerik có hỗ trợ tuyệt vời để làm những việc như sắp xếp lại các cột ở phía máy khách, trong khi lưới DevExpress yêu cầu gọi lại để thực hiện việc này.

ExtJS là tuyệt vời, nhưng tôi thực sự cảm thấy rằng nó là một lưới JavaScript rất nặng. Hiệu suất trong IE có thể đáng sợ với lưới ExtJS.Nó thường hoạt động tốt nếu bạn không có nhiều cột, hoặc không thử và đặt nhiều hơn một lưới trên một trang. Bạn sẽ muốn chắc chắn tránh đặt các ExtJS lưới vào điều khiển Tab, như tất cả các loại vấn đề phát sinh khi lưới được trả lại cho một yếu tố không nhìn thấy được.

Chúng tôi gần đây đã quyết định chuyển tất cả các lưới được sử dụng trong hệ thống báo cáo của chúng tôi sang lưới Silverlight của telerik, hoạt động rất đẹp so với các đối tác JavaScript của chúng.

Hy vọng điều này sẽ hữu ích và chúc bạn may mắn.

+0

Jeff, đó là lời khuyên tuyệt vời nhờ. Tôi đã xem xét nhanh jqGrid nhưng bây giờ sẽ đi qua một đánh giá đầy đủ về điều này. Silverlight sẽ tốt đẹp nhưng không thực sự là một lựa chọn cho dự án này. –

4

Thành thật mà nói, bạn có thể phát triển MVC của riêng bạn thay vì dễ dàng cung cấp cho bạn tất cả những gì bạn cần. Mặc dù tôi cho rằng nếu bạn cần một cái gì đó nhanh chóng hoạt động, lưới MvcContrib là rất tốt.

+0

Cảm ơn Chris. Bạn có thể chỉ cho tôi theo hướng của bất kỳ mẫu hoặc tài nguyên được đề xuất nào không? –

+0

Bạn có thể bắt đầu với vòng lặp foreach hiển thị một hàng bảng duy nhất với mỗi lần lặp –

+0

+1 cho MvcContrib. Tôi sử dụng nó, cho hầu hết các nhiệm vụ lưới, nó sẽ hoạt động tốt. Nếu bạn đang tìm kiếm chức năng uber, Telerik hoặc DevExpress sẽ là con đường để đi. –

0

Có một lưới DevExpress giống với Telerik, một lần nữa có thể nằm trên đầu cho bạn. Tuy nhiên, bạn có thể mua lưới điện trên riêng của nó chứ không phải là toàn bộ bộ mặc dù nó có thể không có giá trị làm điều đó kể từ khi lưới điện là gần một nửa giá của bộ.

+0

Cảm ơn - tốt hơn nếu lưới là một sản phẩm riêng biệt có. Tuy nhiên tôi không thể nhìn thấy bất kỳ đề cập đến MVC - hoặc tôi đã bỏ lỡ điều đó? –

+0

Ok tôi đã gặp phải điều này: http://www.devexpress.com/Support/Center/KB/p/K18375.aspx để xuất hiện nó hỗ trợ MVC2 - cần phải đọc thêm về điều này mặc dù không có đề cập đến trên 'brochure của họ 'trang web. –

+0

Đó là một điểm tốt MVC là một bổ sung mới cho DevExpress Tôi không thể nói rằng tôi đã thử nó bên ngoài webforms nhưng có lẽ không phải là sự lựa chọn tốt nhất, trừ khi bạn có thời gian để thử nghiệm với phiên bản dùng thử. – PeteT

0

Ảnh cuối cùng của tôi tại các thành phần cho ASP.NET MC không thành công. Nó khó khăn hơn nhiều để có một điều khiển cho MVC sau đó cho trường học cũ ASP.NET.

  • các định tuyến controll hy vọng có để Mapp độc đáo để định tuyến của ứng dụng của bạn
  • mọi thứ trở nên khó khăn hơn nhiều khi bạn có nhiều thì 1 lưới trên trang
  • nếu controll phải làm việc cho phi bật Javascript khách hàng sự lựa chọn của bạn thậm chí còn hạn chế hơn
  • nếu nút quay lại của trình duyệt cần được làm việc lựa chọn của bạn thậm chí còn nhiều hạn chế

trong trường hợp của tôi nó bật ra rằng đó là tốt hơn nhiều sử dụng html và jquery đơn giản để nhận ra phân trang, sắp xếp và lọc cho một bảng. Tôi sẽ vẽ đường nếu trang web của bạn là một trang web công khai hơn (như của tôi) hoặc một ứng dụng có lối vào web.

+0

Xin chào Malcolm. Tôi nghĩ rằng tôi đã trải qua một trải nghiệm tương tự trong vài tuần qua. Ứng dụng của chúng tôi là một ứng dụng web doanh nghiệp chuyên sâu dữ liệu kích thước trung bình với một số lượng đáng kể màn hình tương đối phức tạp (nhiều điều khiển, lưới, v.v ...). Tôi đã vật lộn với việc chuyển từ ASP.NET sang MVC - không phải vì kiến ​​trúc/cách tiếp cận mà vì sự phức tạp xung quanh việc cung cấp trải nghiệm người dùng tuyệt vời mà không cần đầu tư lớn vào jQuery và các điều khiển liên quan (giai đoạn đầu). Điều này là quá nguy hiểm đối với chúng tôi và chúng tôi bây giờ trở lại trên các hình thức web ASP.NET 4.0. Không nghi ngờ gì nữa, tôi sẽ quay lại MVC! Thx –

+0

Tôi nghĩ bạn đã chọn đúng. Dự án của tôi là một trang web công khai và MVC là một khuôn khổ tốt để sử dụng. Đối với các đường nối Viewstate của dự án của bạn như một món quà từ thiên đàng. –

0

Gần đây tôi đã nghiên cứu về điều này và chiến thắng là jQgrid cho hiệu suất là Tốt nhất!

+0

Phải đồng ý. Các jQGrid có rất nhiều chức năng hữu ích, nó dễ dàng để chương trình chống lại, chuyên nghiệp tìm kiếm và có rất nhiều bài báo ra khỏi đó để giúp bạn nhận được nhiều nhất từ ​​nó. – Peanut

1

hãy xem dữ liệu thống kê của Bộ công cụ điều khiển MVC. Nó xuất hiện khá linh hoạt. Nó cho phép chỉnh sửa, xóa, chèn và phân trang. Hơn nữa nó thực sự dễ dàng để di chuyển các thay đổi đến một DB trong bộ điều khiển. Nhìn vào nó here.

Các vấn đề liên quan