Hi,
It would also be good to have some more powerful BoundFields.
I've created some widgets for Paul Wilson's UIMapper. One enables the manging of a file. All you have to do is bind the file name to the widget and it gives the user the option of keeping the current file, deleting the current file and uploading a new file to replace the old. It can also resize and thumbnail an image, give a preview of the image and give a new file a unique filename. This makes managing files amazingly easy.
I've also created a widget that allows one to manage a join table with a couple of listboxes. One list box contains the source items and the other contains the selected. The selected items can also be ordered with a couple of arrow buttons.
Here's an example of a control declaration...
<c
ontrol member="AdGroupFooterAds" label="Footer Adverts" widget="OrderedJoinTable" selectedRootKeyDependant="true" selectedPredicate="GetSelectedFooterAdverts" selected="NWN.EntityClasses.AdGroupFooterAdsEntity" sourcePredicate="GetAvailableFooterAdverts" selectedKeyField="AdGroupId" selectedRelatedKeyField="AdId" source="NWN.EntityClasses.AdvertEntity" key="AdId" display="Title" span="1" rightCssClass="rightBox" leftCssClass="leftBox" />
Another interesting difference I've noticed between Blinq and the Wilson UIMapper is that the Wilson widgets which go to the database independently of the main edit view have the equivalent of the ObjectDataSource incapsulated inside then. So you don't need to specify an ObjectDataSource
and a drop down list, you just specify a ComboWidget and put the types to load etc. on the widget. Like this..
<control member="AdTypeId" label="Advert Type" widget="ComboBox" readonly="OnEdit" source="NWN.EntityClasses.AdTypeEntity" key="AdTypeId" sortBy="Name" display="Name" width="400" span="1" required="Please select the advert type." />
Just thought you might be interested!
WT.
Web dev - spending forever achieving nothing.