A while ago
I got a question about the autocomplete control, “it’s
possible to use records coming from different tables as an autocomplete data
source?”
The answer
is yes, It’s possible, but requires a bit of
configuration.
The use
case was simple, but does not fit into the NRapid default feature set. By
default, autocompletes work with a data source that contains just two columns,
the record id and a description field (which is used to filter records). Those
two columns must come from the same table. In this case, the user wants to see
additional columns coming from different tables, so the solution requires a bit
of hacking.
I’ll show
you how to do this, by combining two tables, products and categories. Basically
I’ll add the category name (from Categories) to the products autocomplete data
source (which by default just has the product id and the product name, both
coming from the products table).
To make
this thing work, we need to use the customization feature, the code
should look something like this:
Note that the code was placed inside the report’s constructor. This has to be done this way, because the code must be executed as soon as possible to override the NRapid default behavior. (If you put this code somewhere else, it just ain’t gonna work)
* I’m not
showing how to add an autocomplete control to the dialog because was covered in a
previous post.
Now execute the report, hit F2 in the textbox labeled Product and you will see
an autocomplete with three columns coming from two different tables.
You can get the source code of NRapid from here
And the sample app from here
The Northwind database is available from download at http://www.microsoft.com/en-us/download/details.aspx?id=23654
Comments
Post a Comment