2009-04-09 37 views
8

Làm cách nào để thêm tiêu chí tìm kiếm/bộ lọc bổ sung vào Ứng dụng web dữ liệu động?Dữ liệu động ASP.NET Thêm tiêu chí lọc bổ sung vào Trang

Tôi đã tạo một ứng dụng web dữ liệu động bằng cách sử dụng cơ sở dữ liệu Northwind và tôi đang sử dụng một trang tùy chỉnh cho bảng nhân viên (dựa trên TemplateDetails.aspx Page Template). Tôi muốn thêm tìm kiếm/bộ lọc bổ sung/nơi tham số vào Trang. Theo mặc định, bộ sưu tập các tham số đang được tạo động dựa trên điều khiển FilterRepeater, cũng được tạo động dựa trên các mối quan hệ "khóa ngoài" mà Bảng nhân viên có.

Trong nỗ lực thêm tiêu chí tìm kiếm bổ sung, tôi đã gắn với sự kiện Chọn của LinqDataSource của GridView và đang cố thêm các mục bổ sung vào bộ sưu tập WhereParameters của LinqDataSourceSelectEventArgs.

Vấn đề là tôi không thể chỉ định loại so sánh nào cần được thực hiện. Bộ sưu tập WhereParameters chỉ chấp nhận một String và một đối tượng, nhưng không phải là cách so sánh chúng. Điều tôi thực sự muốn có thể làm là thêm vào bộ sưu tập các đại biểu vị ngữ ...

Tôi nên thêm tiêu chí tìm kiếm bổ sung vào trang này như thế nào? Thông qua các thuộc tính được áp dụng cho thực thể LINQ To SQL (nếu có, làm thế nào)? Điều gì sẽ xảy ra nếu tiêu chí/tiêu chí không dựa trên chính tổ chức đó, tôi sẽ thêm vào tiêu chí tìm kiếm trong trường hợp đó như thế nào?

Aaron Hoffman

+0

ngoài các câu trả lời dưới đây, các diễn đàn DD, mặc dù chậm để tải, là về nguồn thông tin tốt nhất trên DD có ngay bây giờ, không may – jlembke

Trả lời

7

Nếu bạn muốn thêm tiêu chí của riêng bạn để ứng dụng mà không được tự động trao cho bạn bởi DD, bạn sẽ phải đi đến DynamicDataFiltering để làm điều đó. Bản thân DynamicData hiện không hỗ trợ các bộ lọc và tìm kiếm tùy chỉnh. Nó không phải là khó khăn để thực hiện. Josh Heyes đã làm một công việc tuyệt vời trên đó.

Quay lại nếu đó là không hoàn toàn những gì bạn đang tìm kiếm

EDIT: Ngoài ra, nếu bạn chỉ có ý định về thực hiện một số lọc thêm các dữ liệu hiển thị bạn có thể viết một cái gì đó như thế này có lẽ trong Page_Init mà không Josh dự án lọc:

GridDataSource.WhereParameters.Add(new Parameter("it.myColumn", TypeCode.Int32, myValue)); 

Làm "trong" hoặc "chứa" phức tạp hơn một chút và yêu cầu DynamicDataFiltering.

+0

Tôi đã cố gắng làm theo hướng dẫn của Josh về việc chuyển đổi LinqDataSource thành DynamicLinqDataSource nhưng tôi chưa bao giờ nhận được một hành động như ông ta gọi là “nguồn UpgradeData xuất hiện trong cửa sổ bật lên hành động” Bạn có thấy đây là trường hợp không? –

+0

Tôi tin rằng tôi đã làm. Tôi sẽ đề nghị hỏi Josh trên codeplex. – jlembke

+0

@ jlembke, tôi sẽ nhưng trong thời gian chờ đợi, bạn có thể làm việc xung quanh nó không? –

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