I wanted an adjustable contact form with a dropdown containing the order numbers of the current user. With a custom data feed this is very easy accomplished within the forms module. See this post for more information about data feeds.
For the LoadItems implementation you can use the following:
public IEnumerable<IFeedItem> LoadItems()
{
IEnumerable<IPurchaseOrder> orders = this.orderRepository.Load<IPurchaseOrder>();
return orders.Select(order =>
new FeedItem { Key = order.OrderNumber, Value = order.OrderNumber })
.Cast<IFeedItem>()
.ToList();
}
Now you will be able to select orders as a datafeed for a dropdown. And the customer can select the order number they want information about.
For the full data feed code see this gist