Trong nỗ lực của tôi trên sẽ cung cấp một cột tra cứu hữu dụng hơn bằng cách sử dụng BDC, Tôi nhấn một bức tường với BDC picker. Nếu bạn không nhìn thấy nó, bộ chọn BDC là tương tự như một bảng chọn người ngoại trừ rằng nó làm việc với cột loại "dữ liệu doanh nghiệp".
Bạn truy cập vào bảng chọn bằng cách nhấp vào biểu tượng mở cửa sổ của một doanh nghiệp dữ liệu cột như hiển thị:
Hình ảnh ở trên cho thấy một doanh nghiệp dữ liệu cột được gọi là "Thạc sĩ tài liệu Id". Cột được kết nối, Via BDC, Dịch vụ web. Dịch vụ web trả về hai cột thông tin: ID tài liệu và tiêu đề. Mục đích kinh doanh ở đây là cung cấp một "tài liệu này dựa trên" chức năng. Người dùng chọn một "tổng thể" tài liệu và khi họ tiết kiệm, một bộ tiếp nhận sự kiện sao trường dữ liệu meta từ bậc thầy tham chiếu.
Theo mặc định, bộ chọn BDC trông như thế này khi tôi tìm kiếm một tài liệu mà ID = "38":
Đó là hữu ích, nhưng không đủ tốt. Mọi người không nghĩ về ID, họ nghĩ rằng trong điều khoản của tiêu đề và/hoặc dữ liệu meta khác. Bộ chọn cho phép bạn tìm kiếm trên cột khác (Ví dụ như. Tiêu đề) nhưng sẽ không hiển thị trong danh sách thực tế của nó tìm thấy tiêu đề, chỉ là của họ DocId của như được hiển thị ở đây:
(Ảnh chụp màn hình không phải là tuyệt vời như vậy bởi vì tôi đã không nhận một tìm kiếm mà trả về bất kỳ kết quả hợp lệ, nhưng bạn có thể thấy rằng nếu nó đã tìm thấy một số kết quả, nó sẽ chỉ có hiển thị của DocId, Không tên).
Tôi tìm kiếm cao và thấp cho câu trả lời cho điều này và không thành công. Đồng nghiệp của tôi, Các hòa thượng Jonathan Bradshaw, có phải đối mặt và giải quyết vấn đề này. Khi tôi đạt ra cho anh ta để được giúp đỡ, ông đã chỉ cho tôi đi đúng hướng.
Cấu hình bộ chọn để hiển thị nhiều cột thông qua "ShowInPicker" bất động sản tại ADF:
<Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>
Chi tiết hơn:
<!-- Tiêu đề -->
<TypeDescriptor TypeName="System.String" Tên="Tiêu đề" >
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1033">Tiêu đề</LocalizedDisplayName>
</LocalizedDisplayNames>
<Thuộc tính>
<Bất động sản Tên="DisplayByDefault" Loại="System.Boolean">sự thật</Bất động sản>
<Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>
</Thuộc tính>
</TypeDescriptor>
Thiết lập tài sản này giới thiệu một vấn đề nhỏ. Ngay sau khi bạn thiết lập nó một lần, bạn cần phải thiết lập nó cho mỗi cột bạn muốn hiển thị. Trong trường hợp của tôi, BDC picker cho thấy DocId theo mặc định. Tuy nhiên, một khi tôi thêm vào "ShowInPicker" danh hiệu, DocId không còn hiển thị. Tôi đã giải quyết rằng bằng cách thiết lập một cách rõ ràng các tài sản ShowInPicker cho Doc ID.
Đây là kết quả:
(Tôi sẽ giải thích "lẻ 168 – CamlSchema.xsd" xây dựng trong một bài đăng blog trong tương lai. Trong ngắn hạn, nó là một chuỗi nhiều cho phép cho một kinh nghiệm người dùng tốt hơn một chút).
Tất nhiên, đã viết blog entry này, Tôi chỉ cần làm một tìm kiếm cho "ShowInPicker" và tìm thấy nhiều bài hit, trong đó có một này: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Nó giải thích ý nghĩa của tài sản đó cùng với một số công cụ BDC tốt khác.
</kết thúc>
Đăng ký vào blog của tôi!