I am currently designing a form to replace an existing ADM2 smart data viewer. In the ADM2 I used a Progress selection-list to allow the user to make a multiple selection from a list and then take the value and assign it to the bound SDV field. I have basically replaced this with the Infragistics ListView control. the issue I am having is I am not quite sure where to replace the code I added to the ADM2 displayRecord. When this procedure was called it was because the user pressed save/cancel/add/copy or clicked on a different record in a smart data browser. I used this procedure to take the values from the SDV field and assign it to the SELECTION-LIST. In the NEW GUI where is the best place to replace the displayRecord functionality?
Hi Roger,
one issue with the .NET UI (both in Microsoft world as in Progress) is that you don't have a component library that contains ADM2 like functionality. So basically for doing what you ask for you rely on events of individual controls or the binding source.
My suggestion is to test either with the PositionChanged and (AddingNew) events of the binding source or if you are working with a hidden TextBox as a mediator in the Form or in a UserControl use the TextChanged event of that textbox. When the field is hidden, the TextChanged will only fire when a new value is retrieved from the BindingSource (no manual use interaction possible). A second case where the TextChanged event may fire is when you update from the LiveView to that hidden field. You may need a logical flag then to prevent an endless recursion of the TextChanged event.
Which way to go depends a little bit on your coding style. I usually code with UserControls. So using the TextChanged event of the hidden TextBox would keep the functionality encapsulated in the UserControl.
I have been toying with both bindingsource:PositionChanged and ultraTextBox:TextChanged but was unable to get the ListBox:SelectedItems to be properly set. I think I tracked that down so that should be resolved.
I do like the idea of a UserControl for my ListBox and hidden TextBox so as you say everything is encapsulated in the UserControl. I think I will toy with that..my first reaction is having to bind the TextBox to the PDS manually although not a big deal. Any other gotcha's I should watch out for?
You are supposed to be on vacation relaxing!!
Mike,
Do you have any idea as to why the selectedItems:ADD will fail if the ListBox is NOT enabled? All my controls are disabled until the user clicks on the "Update" button so when I am attempting to select the items the call fails.
pListView:selectedItems:ADD(pListView:items:ITEM).
Are you using the Microsoft ListBox? Works for me, see attached files (they go to a DisabledSelectionList folder).
What is the SelectionMode set to?
[View:~/cfs-file.ashx/__key/communityserver-discussions-components-files/19/TestDisabledSelectionList.cls:550:0]
[View:~/cfs-file.ashx/__key/communityserver-discussions-components-files/19/TestDisabledSelectionList.resx:550:0]
Infragistics UltraListView. We are using all Infragistic Controls to allow use of the AppStylist.
That's an interesting issue!
I'd consider to log it as a bug with Progress support.
Okay, I thought I was doing something wrong. I give TS a call.
Thanks for the help.
According to Infragistics:
By Brian Fallon in WinListView
That is a bug, and will be addressed in a future release. You should report it so that you receive a notification when the hotfix becomes available.
I have relayed the info to Progress so hopefully they can deal with Infragistics. After all that is why we buy the controls from Progress!!
Mike,
I have a user control with a UltraListView that I am using on all my maintenance forms. The funny thing is I get no vertical scrollbar if the items exceed the viewable area. If I move the ListView from the user control to my form the vertical scrollbars appear. Do you have any ideas?
What resizing settings are you using inside the user control?
Anchor and Dock of the UltraListView? AutoSize or AutoScroll of the UserControl?
I'd set Dock of the UltraListView to Fill and AutoSize and AutoScroll of the UserControl to False.
Mike,
I ended up deleting the uc from the form and then dropping it on the form again and it solved my problem.
Thanks.