Ok, this question got lengthy, but I wanted to give all details, actual question is in bold below.

I have defined an External content type, let's call it ExternalCustomer.

I use an ExternalCustomer-column in a doclib, so user can select an external customer to his document in a picker dialog.

I have used SPD to create the ECT and selected my WCF service method as my default reader method. Since there will be a huge number of External Customers I need to send an extra parameter to the method, a guid that is stored on the specific SPWeb where the doclib resides (and can be in the URL as well if needed).

The service signature looks like this

List<ExternalCustomer> GetExternalCustomers()

I want to change it to

List<ExternalCustomer> GetExternalCustomers(Guid regionId)  

and somehow sneak in that extra parameter somewhere so it reaches my service. I'm creating the docLib in code from a custom listdef during init of the SPWeb. I can edit the XML that defines the BDC.

I don't want user to input the Id (as a filter parameter), I would prefer to not get all customers and then filter 99% of them away.

(As a backup will have to define a custom field type with a custom picker, but i have more then one external content type...It seems very much work for this tiny extra functionality)

I run SP 2013, I have both the service provider and SP on my own servers.

1 Answer 1


I gave up on the thought of hijacking the picker dialog and went with client side custom fieldtypes, created a http-handler which uses the BDC API, where I can send the parameter needed. I then actually set the bdcfields in the event reciever. With this solution I can use comboboxes (or whatever I want) instead of the picker dialog.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.