ABAP Objects Combo Box
Hello All,
I am working with a program that uses an object oriented combo box similiar to that in the example program TEST_CONTAINERS. The user has asked for the requirement that the combo box be inititally populated with the first entry in the list. Does anyone have any ideas how this can be done using the code based in TEST_CONTAINERS? Thanks for your help in advance.
John
HI John,
check the programs "DEMOABAPOBJECTS*".
--> You can find more info from http://www.sap-press.com
Please check this online document and go to ABAP Objects section (starting from page 1291).
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
Also check this link for OO interfaces.
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
Regards,
Laxmi.
Similar Messages
-
ABAP Webdynpro cannot display value help, combo box properly in IE ?
Hi WDA expert,
I have problem developing webdynpro in NW 7.0 EHP1 SPS02. All the combo box, value help, drop down input did not properly display using IE 7.0 / 8.0. It is something like create another blank input beside the original object.
but everything ok if i am using mozilla firefox.
I am not sure what is the problem with this.
Please help.
Thank You and Best Regards
Fernand.Hi Thomas,
Thank you for your response, But i am still not able to solve the problem. Let me give you more detail information regarding this issue.
are you using the Portal? The other poster in this thread seems to think so, but I don't see anything in your postings to indicate that. IE7 is supported on your release/SP level. IE8 is not supported until SPS5.
=> I am not using portal it is just normal test from SAP GUI. I am using IE 8.0.6001.18702. So far i have tested the sample webdynpro "WDR_TEST_SELECT_OPTIONS" to 4 different server (PID, PIQ, ECD, ECQ) all using the same version NW 7.0 EHP 1 SPS02. (i have check for ABAP and BASIS package). The problem only occur in PID (Initially the icm service is not start so i use transaction SICF to start the webdynpro service) not sure if there is missing java script library ?
Please refer in this link for the different result screen capture below:
http://i802.photobucket.com/albums/yy310/pisuper/WDA_DEV.jpg --> error in PID
http://i802.photobucket.com/albums/yy310/pisuper/WDA_QA.jpg -
> success in PIQ, ECD, ECQ
I would recommend clearing your browser cache and the server side cache. For the server side cache go to transaction SMICM and choose Administration->ICM->Exit Hard->Global.
I have restarted the whole server and i did again from SMICM. But still having the same problem like in the screen capture.
Are you using a standard or customized theme?
I am using standard theme base on demo "WDR_TEST_SELECT_OPTIONS"
Base on my latest investigation seems like those 3 success server PIQ, ECD and ECQ always download this file ls_ie6.nosprite.css in the internet temporary directory, but then no for PID.
is that any idea or suggestion that i can try to solve this problem. it seems like some configuration was missing for the standard theme in PID
Thank You and Best Regards
Fernand Lesmana
Edited by: Fernand Lesmana on Jun 16, 2010 3:52 PM -
Combo box as LinkedButton Object
Hello all,
I have one question. I created a UDF as column in line of documents. This column is combo box. Its ok but i want to do this column as combo with linked arrow. Is it possible?
ThanksHello,
Thanks for your answer. But i dont know how to change type of column. This column is as UDF and has validvalue Yes,No. I need fot this column add link arrow. -
Dynamic documents in ABAP Objects (weblog)
Hi SDNers,
Do you want to implement the following features in ABAP Screens?
1. Large font sizes and more colour options than traditional ABAP/4 (There are some limitations also)
2. ICONS and pictures in different sizes
3. Texts
4. Links
5. Pushbuttons
6. Input fields
7. Dropdown list boxes
8. Tables with row span and with column span
9. Tables with frames and without frames
10. Tables with buttons, icons, pictures, input elements and texts in it.
Then please read the below weblog to incorporate these features...
<a href="/people/venkata.ramisetti/blog/2005/12/20/dynamic-documents-in-abap-objects">Dynamic Documents in ABAP Objects</a>
Thanks,
Ramakrishnaone limitation which comes to my mind immediately is that you cannot create spool output of the dynamic document.
Regards
Raja -
I am developing a desktop application in Wpf using MVVM and Entity Frameworks. I have the following tables:
1. Party (PartyId, Name)
2. Case (CaseId, CaseNo)
3. Petitioner (CaseId, PartyId) ............. Link Table
I am completely new to .Net and to begin with I download Microsoft's sample application and
following the pattern I have been successful in creating several tabs. The problem started only when I wanted to implement many-to-many relationship. The sample application has not covered the scenario where there can be a any-to-many relationship. However
with the help of MSDN forum I came to know about a link table and managed to solve entity framework issues pertaining to many-to-many relationship. Here is the screenshot of my application to show you what I have achieved so far.
And now the problem I want the forum to address is how to bind a combo box so that it retrieves Party.Name for the corresponding PartyId in the Link Table and also I want to populate it with Party.Name so that
users can choose one from the dropdown list to add or edit the petitioner.Hello Barry,
Thanks a lot for responding to my query. As I am completely new to .Net and following the pattern of Microsoft's Employee Tracker sample it seems difficult to clearly understand the concept and implement it in a scenario which is different than what is in
the sample available at the link you supplied.
To get the idea of the thing here is my code behind of a view vBoxPetitioner:
<UserControl x:Class="CCIS.View.Case.vBoxPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:v="clr-namespace:CCIS.View.Case"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
d:DesignWidth="300"
d:DesignHeight="200">
<UserControl.Resources>
<DataTemplate DataType="{x:Type vm:vmPetitioner}">
<v:vPetitioner Margin="0,2,0,0" />
</DataTemplate>
</UserControl.Resources>
<Grid>
<HeaderedContentControl>
<HeaderedContentControl.Header>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Margin="2">
<Hyperlink Command="{Binding Path=AddPetitionerCommand}">Add Petitioner</Hyperlink>
| <Hyperlink Command="{Binding Path=DeletePetitionerCommand}">Delete</Hyperlink>
</TextBlock>
</StackPanel>
</HeaderedContentControl.Header>
<ListBox BorderThickness="0" SelectedItem="{Binding Path=CurrentPetitioner, Mode=TwoWay}" ItemsSource="{Binding Path=tblParties}" />
</HeaderedContentControl>
</Grid>
</UserControl>
This part is working fine as it loads another view that is vPetioner perfectly in the manner I want it to be.
Here is the code of vmPetitioner, a ViewModel:
Imports Microsoft.VisualBasic
Imports System.Collections.ObjectModel
Imports System
Imports CCIS.Model.Party
Namespace CCIS.ViewModel.Case
''' <summary>
''' ViewModel of an individual Email
''' </summary>
Public Class vmPetitioner
Inherits vmParty
''' <summary>
''' The Email object backing this ViewModel
''' </summary>
Private petitioner As tblParty
''' <summary>
''' Initializes a new instance of the EmailViewModel class.
''' </summary>
''' <param name="detail">The underlying Email this ViewModel is to be based on</param>
Public Sub New(ByVal detail As tblParty)
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Me.petitioner = detail
End Sub
''' <summary>
''' Gets the underlying Email this ViewModel is based on
''' </summary>
Public Overrides ReadOnly Property Model() As tblParty
Get
Return Me.petitioner
End Get
End Property
''' <summary>
''' Gets or sets the actual email address
''' </summary>
Public Property fldPartyId() As String
Get
Return Me.petitioner.fldPartyId
End Get
Set(ByVal value As String)
Me.petitioner.fldPartyId = value
Me.OnPropertyChanged("fldPartyId")
End Set
End Property
End Class
End Namespace
And below is the ViewMode vmParty which vmPetitioner Inherits:
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports CCIS.Model.Case
Imports CCIS.Model.Party
Imports CCIS.ViewModel.Helpers
Namespace CCIS.ViewModel.Case
''' <summary>
''' Common functionality for ViewModels of an individual ContactDetail
''' </summary>
Public MustInherit Class vmParty
Inherits ViewModelBase
''' <summary>
''' Gets the underlying ContactDetail this ViewModel is based on
''' </summary>
Public MustOverride ReadOnly Property Model() As tblParty
'''' <summary>
'''' Gets the underlying ContactDetail this ViewModel is based on
'''' </summary>
'Public MustOverride ReadOnly Property Model() As tblAdvocate
''' <summary>
''' Gets or sets the name of this department
''' </summary>
Public Property fldName() As String
Get
Return Me.Model.fldName
End Get
Set(ByVal value As String)
Me.Model.fldName = value
Me.OnPropertyChanged("fldName")
End Set
End Property
''' <summary>
''' Constructs a view model to represent the supplied ContactDetail
''' </summary>
''' <param name="detail">The detail to build a ViewModel for</param>
''' <returns>The constructed ViewModel, null if one can't be built</returns>
Public Shared Function BuildViewModel(ByVal detail As tblParty) As vmParty
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Dim e As tblParty = TryCast(detail, tblParty)
If e IsNot Nothing Then
Return New vmPetitioner(e)
End If
Return Nothing
End Function
End Class
End Namespace
And final the code behind of the view vPetitioner:
<UserControl x:Class="CCIS.View.Case.vPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
Width="300">
<UserControl.Resources>
<ResourceDictionary Source=".\CompactFormStyles.xaml" />
</UserControl.Resources>
<Grid>
<Border Style="{StaticResource DetailBorder}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Petitioner:" />
<ComboBox Grid.Column="1" Width="240" SelectedValuePath="." SelectedItem="{Binding Path=tblParty}" ItemsSource="{Binding Path=PetitionerLookup}" DisplayMemberPath="fldName" />
</Grid>
</Border>
</Grid>
</UserControl>
The problem, presumably, seems to be is that the binding path "PetitionerLookup" of the ItemSource of the Combo box in the view vPetitioner exists in a different ViewModel vmCase which serves as an ObservableCollection for MainViewModel. Therefore,
what I need to Know is how to route the binding path if it exists in a different ViewModel?
Sir, I look forward to your early reply bringing a workable solution to the problem I face.
Warm Regards,
Arun -
Not able to populate data in the combo box
Hi Guys,
I m new to flex development and I want to populate the data
coming from the databasein the combobox.I am able to get the length
.but not able to populate the data.
Can anyone helpme out?
The code is below:
The data displayed in the combox box is displayed as
[object],[object] etc.I m sure that the data is coming from the
database and its not populated in the combo box.any help is
appreciated.
private function getParkinfo(event:ResultEvent):void
{ Alert.show(event.result.length.toString());
countries.dataProvider = event.result;
<mx:ComboBox id="countries" />What does the data look like in the result? Is it XML? Post a
sample of it. -
Display data in list and combo box
hi all....
how to display data from database in list and combo box? i use MYSQL...
help me please..... tq...1 - Write a query to retrieve the data you want from database
2 - In a servlet, connect to database, Run the query, scroll through the result set and put the data into a list of Java Objects.
3 - Set a request/session attribute of that list of objects
4 - Forward to JSP
5 - In JSP, create a <select> box, and then use a <c:forEach> loop to generate <option> tags from the list. -
Adding an event listener to combo box
I am working on a mortgage calculator and I cannot figure out how to add an event listener to a combo box.
I want to get the mortgage term and interest rate to calucate the mortgage using the combo cox. Here is my program.
Modify the mortgage program to allow the user to input the amount of a mortgage
and then select from a menu of mortgage loans: 7 year at 5.35%, 15 year at 5.50%, and
30 year at 5.75%. Use an array for the different loans. Display the mortgage payment
amount. Then, list the loan balance and interest paid for each payment over the term
of the loan. Allow the user to loop back and enter a new amount and make a new
selection, with resulting new values. Allow user to exit if running as an application
(can't do that for an applet though).
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.text.NumberFormat;
import java.util.Locale;
//creates class MortgageCalculator
public class MortgageCalculator extends JFrame implements ActionListener {
//creates title for calculator
JPanel row = new JPanel();
JLabel mortgageCalculator = new JLabel("MORTGAGE CALCULATOR", JLabel.CENTER);
//creates labels and text fields for amount entered
JPanel firstRow = new JPanel(new GridLayout(3,1,1,1));
JLabel mortgageLabel = new JLabel("Mortgage Payment $", JLabel.LEFT);
JTextField mortgageAmount = new JTextField(10);
JPanel secondRow = new JPanel();
JLabel termLabel = new JLabel("Mortgage Term/Interest Rate", JLabel.LEFT);
String[] term = {"7", "15", "30"};
JComboBox mortgageTerm = new JComboBox(term);
JPanel thirdRow = new JPanel();
JLabel interestLabel = new JLabel("Interest Rate (%)", JLabel.LEFT);
String[] interest = {"5.35", "5.50", "5.75"};
JComboBox interestRate = new JComboBox(interest);
JPanel fourthRow = new JPanel(new GridLayout(3, 2, 10, 10));
JLabel paymentLabel = new JLabel("Monthly Payment $", JLabel.LEFT);
JTextField monthlyPayment = new JTextField(10);
//create buttons to calculate payment and clear fields
JPanel fifthRow = new JPanel(new GridLayout(3, 2, 1, 1));
JButton calculateButton = new JButton("CALCULATE PAYMENT");
JButton clearButton = new JButton("CLEAR");
JButton exitButton = new JButton("EXIT");
//Display area
JPanel sixthRow = new JPanel(new GridLayout(2, 2, 10, 10));
JLabel displayArea = new JLabel(" ", JLabel.LEFT);
JTextArea textarea = new JTextArea(" ", 8, 50);
public MortgageCalculator() {
super("Mortgage Calculator"); //title of frame
setSize(550, 350); //size of frame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
GridLayout grid = new GridLayout(7, 3, 10, 10);
pane.setLayout(grid);
pane.add(row);
pane.add(mortgageCalculator);
pane.add(firstRow);
pane.add(mortgageLabel);
pane.add(mortgageAmount);
pane.add(secondRow);
pane.add(termLabel);
pane.add(mortgageTerm);
pane.add(thirdRow);
pane.add(interestLabel);
pane.add(interestRate);
pane.add(fourthRow);
pane.add(paymentLabel);
pane.add(monthlyPayment);
monthlyPayment.setEnabled(false);
pane.add(fifthRow);
pane.add(calculateButton);
pane.add(clearButton);
pane.add(exitButton);
pane.add(sixthRow);
pane.add(textarea); //adds texaarea to frame
pane.add(displayArea);
setContentPane(pane);
setVisible(true);
//Adds Listener to buttons
calculateButton.addActionListener(this);
clearButton.addActionListener(this);
exitButton.addActionListener(this);
mortgageTerm.addActionListener(this);
interestRate.addActionListener(this);
public void actionPerformed(ActionEvent event) {
Object command = event.getSource();
JComboBox mortgageTerm = (JComboBox)event.getSource();
String termYear = (String)mortgageTerm.getSelectedItem();
if (command == calculateButton) //calculates mortgage payment
int year = Integer.parseInt(mortgageTerm.getText());
double rate = new Double(interestRate.getText()).doubleValue();
double mortgage = new Double(mortgageAmount.getText()).doubleValue();
double interest = rate /100.0 / 12.0;
double monthly = mortgage *(interest/(1-Math.pow(interest+1,-12.0 * year)));
NumberFormat myCurrencyFormatter;
myCurrencyFormatter = NumberFormat.getCurrencyInstance(Locale.US);
monthlyPayment.setText(myCurrencyFormatter.format(monthly));
if(command == clearButton) //clears all text fields
mortgageAmount.setText(null);
//mortgageTerm.setText(null);
//interestRate.setText(null);
monthlyPayment.setText(null);
if(command == exitButton) //sets exit button
System.exit(0);
public static void main(String[] arguments) {
MortgageCalculator mor = new MortgageCalculator();The OP already did this to both JComboBoxes.
mochatay, here is a new actionPerformed method for you to use.
I've improved a few things here and there...
1) You can't just cast the ActionEvent's source into a JComboBox!
What if it was a JButton that fired the event? Then you would get ClassCastExceptions (I'm sure you did)
So check for all options, what the source of the ActionEvent actually was...
2) You can't assume the user will always type in valid data.
So enclose the Integer and Double parse methods in try-catch brakcets.
Then you can do something when you know that the user has entered invalid input
(like tell him/her what a clumsy idiot they are !)
3) As soon as user presses an item in any JComboBox, just re-calculate.
I did this here by programmatically clicking the 'Calculate' button.
Alternatively, you could have a 'calculate' method, which does everything inside the
if(command==calculateButton) if-block.
This will be called when:
a)calculateButton is pressed
b)when either of the JComboBoxes are pressed.
public void actionPerformed (ActionEvent event)
Object command = event.getSource ();
if (command == calculateButton) //calculates mortgage payment
int year = 0;
double rate = 0;
double mortgage = 0;
double interest = 0;
/* If user has input invalid data, tell him so
and return (Exit from this method back to where we were before */
try
year = Integer.parseInt (mortgageTerm.getSelectedItem ().toString ());
rate = new Double (interestRate.getSelectedItem ().toString ()).doubleValue ();
mortgage = new Double (mortgageAmount.getText ()).doubleValue ();
interest = rate / 100.0 / 12.0;
catch (NumberFormatException nfe)
/* Display a message Dialogue box with a message */
JOptionPane.showMessageDialog (this, "Error! Invalid input!");
return;
double monthly = mortgage * (interest / (1 - Math.pow (interest + 1, -12.0 * year)));
NumberFormat myCurrencyFormatter;
myCurrencyFormatter = NumberFormat.getCurrencyInstance (Locale.US);
monthlyPayment.setText (myCurrencyFormatter.format (monthly));
else if (command == clearButton) //clears all text fields
/* Better than setting it to null (I think) */
mortgageAmount.setText ("");
//mortgageTerm.setText(null);
//interestRate.setText(null);
monthlyPayment.setText ("");
else if (command == exitButton) //sets exit button
System.exit (0);
else if (command == mortgageTerm)
/* Programmatically 'clicks' the button,
As is user had clicked it */
calculateButton.doClick ();
else if (command == interestRate)
calculateButton.doClick ();
//JComboBox mortgageTerm = (JComboBox) event.getSource ();
//String termYear = (String) mortgageTerm.getSelectedItem ();
}Hope this solves your problems.
I also hope you'll be able to learn from what I've indicated, so you can use similar things yourself
in future!
Regards,
lutha -
How can I make the combo box turn to the value of black.
When the show button is pressed (and not before), a filled black square should be
displayed in the display area. The combo box (or drop down list) that enables the user to choose the colour of
the displayed shape and the altering should take effect immediately.When the show button is pressed,
the image should immediately revert to the black square, the combo box should show the value that
correspond to the black.
Now ,the problem is: after I pressed show button, the image is reverted to the black square,but I don't know
how can I make the combo box turn to the value of black.
Any help or hint?Thanks a lot!
coding 1.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test extends JFrame {
private JPanel buttonPanel;
private DrawPanel myPanel;
private JButton showButton;
private JComboBox colorComboBox;
private boolean isShow;
private int shape;
private boolean isFill=true;
private String colorNames[] = {"black", "blue", "cyan", "darkGray", "gray",
"green", "lightgray", "magenta", "orange",
"pink", "red", "white", "yellow"}; // color names list in ComboBox
private Color colors[] = {Color.black, Color.blue, Color.cyan, Color.darkGray,
Color.gray, Color.green, Color.lightGray, Color.magenta,
Color.orange, Color.pink, Color.red, Color.white, Color.yellow};
public test() {
super("Draw Shapes");
// creat custom drawing panel
myPanel = new DrawPanel(); // instantiate a DrawPanel object
myPanel.setBackground(Color.white);
// set up showButton
// register an event handler for showButton's ActionEvent
showButton = new JButton ("show");
showButton.addActionListener(
// anonymous inner class to handle showButton events
new ActionListener() {
// draw a black filled square shape after clicking showButton
public void actionPerformed (ActionEvent event) {
// call DrawPanel method setShowStatus and pass an parameter
// to decide if show the shape
myPanel.setShowStatus(true);
isShow = myPanel.getShowStatus();
shape = DrawPanel.SQUARE;
// call DrawPanel method setShape to indicate shape to draw
myPanel.setShape(shape);
// call DrawPanel method setFill to indicate to draw a filled shape
myPanel.setFill(true);
// call DrawPanel method draw
myPanel.draw();
myPanel.setFill(true);
myPanel.setForeground(Color.black);
}// end anonymous inner class
);// end call to addActionListener
// set up colorComboBox
// register event handlers for colorComboBox's ItemEvent
colorComboBox = new JComboBox(colorNames);
colorComboBox.setMaximumRowCount(5);
colorComboBox.addItemListener(
// anonymous inner class to handle colorComboBox events
new ItemListener() {
// select shape's color
public void itemStateChanged(ItemEvent event) {
if(event.getStateChange() == ItemEvent.SELECTED)
// call DrawPanel method setForeground
// and pass an element value of colors array
myPanel.setForeground(colors[colorComboBox.getSelectedIndex()]);
myPanel.draw();
}// end anonymous inner class
); // end call to addItemListener
// set up panel containing buttons
buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 1, 0, 50));
buttonPanel.add(showButton);
buttonPanel.add(colorComboBox);
JPanel radioButtonPanel = new JPanel();
radioButtonPanel.setLayout(new GridLayout(2, 1, 0, 20));
Container container = getContentPane();
container.setLayout(new BorderLayout(10,10));
container.add(myPanel, BorderLayout.CENTER);
container.add(buttonPanel, BorderLayout.EAST);
setSize(500, 400);
setVisible(true);
public static void main(String args[]) {
test application = new test();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
coding 2
import java.awt.*;
import javax.swing.*;
public class DrawPanel extends JPanel {
public final static int CIRCLE = 1, SQUARE = 2;
private int shape;
private boolean fill;
private boolean showStatus;
private int shapeSize = 100;
private Color foreground;
// draw a specified shape
public void paintComponent (Graphics g){
super.paintComponent(g);
// find center
int x=(getSize().width-shapeSize)/2;
int y=(getSize().height-shapeSize)/2;
if (shape == CIRCLE) {
if (fill == true){
g.setColor(foreground);
g.fillOval(x, y, shapeSize, shapeSize);
else{
g.setColor(foreground);
g.drawOval(x, y, shapeSize, shapeSize);
else if (shape == SQUARE){
if (fill == true){
g.setColor(foreground);
g.fillRect(x, y, shapeSize, shapeSize);
else{
g.setColor(foreground);
g.drawRect(x, y, shapeSize, shapeSize);
// set showStatus value
public void setShowStatus (boolean s) {
showStatus = s;
// return showstatus value
public boolean getShowStatus () {
return showStatus;
// set fill value
public void setFill(boolean isFill) {
fill = isFill;
// set shape value
public void setShape(int shapeToDraw) {
shape = shapeToDraw;
// set shapeSize value
public void setShapeSize(int newShapeSize) {
shapeSize = newShapeSize;
// set foreground value
public void setForeground(Color newColor) {
foreground = newColor;
// repaint DrawPanel
public void draw (){
if(showStatus == true)
repaint();Hello,
does setSelectedIndex(int anIndex)
do what you need?
See Java Doc for JComboBox. -
SBO 2005 combo box does not update value at first time
Hi!I developed an addon for sbo 2004 with a combo box populated with the months of the year, and it works. The same code run on SBO 2005 works only after the second selection. Has anyone found the same problem?
definition of the item:
item = form.Items.Add("oMese", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
item.Left = 245
item.Top = 5
item.Width = 80
item.DisplayDesc = True
combo = item.Specific
combo.DataBind.SetBound(True, "", "uMese")
combo.ValidValues.Add(1, "Gennaio")
combo.ValidValues.Add(2, "Febbraio")
event handling:
inside ItemEvent in case the item is selected
Case SAPbouiCOM.BoEventTypes.et_COMBO_SELECT
Select Case pVal.FormUID
Case "PRG_UFM_0002_RegIVAAcq"
retCode = oTy_RACQ.FormComboSelect(pVal, BubbleEvent)
Public Shared Function FormComboSelect(ByVal pVal As SAPbouiCOM.ItemEvent, _
ByRef BubbleEvent As Boolean, _
ByRef funCaller As Object, _
ByVal funCallerID As Integer, _
ByRef aForm As SAPbouiCOM.Form) _
As Integer
Dim msg As String
Dim edt As SAPbouiCOM.EditText
Dim cmb As SAPbouiCOM.ComboBox
Dim obt As SAPbouiCOM.OptionBtn
Dim cbx As SAPbouiCOM.CheckBox
Dim mtx As SAPbouiCOM.Matrix
Try
If pVal.Before_Action = True Then
Select Case pVal.ItemUID
Case "oMese"
Dim stre As New strEstremi
cmb = aForm.Items.Item("oMese").Specific
edt = aForm.Items.Item("anno").Specific
If Not cmb.Selected Is Nothing Then
GetEstremiPeriod(edt.Value, cmb.Selected.Value, "M", stre)
edt = aForm.Items.Item("dtFrom").Specific
edt.String = stre.dtFrom
edt = aForm.Items.Item("dtTo").Specific
edt.String = stre.dtTo
End If
end function
thank you I hope is enough otherwise please tell me -
Looping through an array to get the index for each measure in a combo box
Hi folks,
I am working on a web application that has two combo boxes, one for year (called yearcombo) and for measures (called myURL) for that selected year, and also two radiobuttons (in radioBtnGroup). I have two years and a bunch of measure for each year. I have a map tool tip that when you mouse over the county you see a measure for that specific year. However I have a bunch of measures for each year and I want to be able to loop through the measures (which are in an array collection inside a combobox) so my "if" expression can find every selectedIndex and bring me the tool tip for that selected measure for that selected radio button. Right now I would have to create if statements for each measure (each selectedIndex inside the myURL combobox)and each radiobutton (inside the radioBtnGroup) instead of creating a if expression to get a map tip tool for each measure. I know I would have to create a loop to search for these indexes and enter that in the if expression and also change the graphic.attributes to reflect the right measure or index selected. Do you API for Flex wizards can give me any tips on how to code this according to my code below ? Any help is greatly appreciated! (the print scree is attached)
Below is the code snippet:
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
And below is the combo boxes with the arrays
<mx:FormItem label="Year :" >
<mx:ComboBox id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)" >
<mx:ArrayCollection id="year" >
<fx:Object label="2007" year="2007" />
<fx:Object label="2009" year="2009" />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
<mx:FormItem label="Measure:">
<mx:ComboBox id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
<mx:ArrayCollection id="measures" >
<fx:Object id="forindout07" labeltext="2007 Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007" />
<fx:Object id="foremp07" label="2007 Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
<fx:Object id="forlabinc07" label="2007 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
<fx:Object id="forindbustax07" label="2007 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
<fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009" />
<fx:Object id="foremp09" label="2009 Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
<fx:Object id="forlabinc09" label="2009 Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
<fx:Object id="forindbustax09" label="2009 Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
<fx:Object id="blank" label=" " />
</mx:ArrayCollection>And here is the entire code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags"
paddingBottom="8" paddingLeft="8"
paddingRight="8" paddingTop="8"
backgroundColor="0xffffff"
layout="vertical" >
<!-- Start Declarations -->
<fx:Declarations>
<esri:SimpleFillSymbol id="mouseOverSymbol" alpha="0.5" color="0x808080">
<esri:SimpleLineSymbol width="0" color="#000000"/>
</esri:SimpleFillSymbol>
<esri:SimpleFillSymbol id="defaultsym" alpha="0.01" color="#E0E0E0" >
<esri:SimpleLineSymbol width="1" color="#000000"/>
</esri:SimpleFillSymbol>
<!-- End Declarations -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.esri.ags.Graphic;
import com.esri.ags.SpatialReference;
import com.esri.ags.esri_internal;
import com.esri.ags.events.GraphicEvent;
import com.esri.ags.geometry.Extent;
import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
import com.esri.ags.symbols.SimpleFillSymbol;
import com.esri.ags.symbols.SimpleLineSymbol;
import flash.utils.flash_proxy;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.RadioButton;
import mx.controls.TextArea;
import mx.events.DropdownEvent;
import mx.events.ItemClickEvent;
import mx.rpc.Fault;
import mx.rpc.events.FaultEvent;
import flash.display.Sprite;
import flash.events.ErrorEvent;
import flash.events.MouseEvent;
private function closeHandler(evt:DropdownEvent):void {
myLabel.text = ComboBox(evt.target).selectedItem.labeltext;
private function loadLayerName():void
myLegend.layers = null;
layerPanel.removeAllChildren();
//loop through each layer and add as a radiobutton
for(var i:uint = 0; i < (dynamicLayer.layerInfos.length); i++)
var radioBtn:RadioButton = new RadioButton;
radioBtn.groupName = "radioBtnGroup";
radioBtn.value = i;
radioBtn.label = dynamicLayer.layerInfos[i].name;
if (dynamicLayer.layerInfos[i].name == "Direct Impact (Million $)")
radioBtn.label = "Direct Impact";
else if (dynamicLayer.layerInfos[i].name == "Total Impact (Million $)")
{radioBtn.label = "Total Impact";
else if (dynamicLayer.layerInfos[i].name == "Total Impact (Jobs)")
{radioBtn.label = "Total Impact";
else if (dynamicLayer.layerInfos[i].name == "Direct Impact (Jobs)")
{radioBtn.label = "Direct Impact";
else
{radioBtn.visible= false;
layerPanel.addChild(radioBtn);
/* myDividerBox.getDividerAt(0).visible = false; */
//set the visible layer the first radio button
radioBtnGroup.selectedValue = 0;
dynamicLayer.visibleLayers = new ArrayCollection([0]);
myLegend.layers = [dynamicLayer];
myLegend.visible = true;
private function radioClickHandler(event:ItemClickEvent):void
myLegend.layers = null;
// update the visible layers to only show the layer selected
dynamicLayer.visibleLayers = new ArrayCollection([event.index]);
myLegend.layers = [dynamicLayer];
private function changeEvt(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter1
measures.refresh()
myURL.dataProvider=measures
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter2
measures.refresh();
public function filter1(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter2(item:Object):Boolean
if (item.year=="2009") return true
else return false
private function clickEvt(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter3
measures.refresh()
myURL.dataProvider=measures
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter4
measures.refresh();
public function filter3(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter4(item:Object):Boolean
if (item.year=="2009") return true
else return false
private function clickEv2(event:Event):void {
if (yearcombo.selectedItem.year == "2007")
measures.filterFunction=filter5
measures.refresh()
else if (yearcombo.selectedItem.year == "2009")
measures.filterFunction=filter6
measures.refresh();
else if (yearcombo.selectedItem.year == 2007 && myURL.selectedIndex==8)
myLegend.layers = null;
layerPanel.removeAllChildren();
public function filter5(item:Object):Boolean
if (item.year=="2007") return true
else return false
public function filter6(item:Object):Boolean
if (item.year=="2009") return true
else return false
/* IF YOU WANT TO INCLUDE OTHER VALUES IN THE MAP TOOLTIP LIKE COUNTY NAME AND THE LABEL OF THE SELECTED ITEM
if (myURL.selectedIndex==0)
myTextArea.htmlText = "<b>County: </b>" + gr.attributes.NAME + "\n"
+ "<b>Measure: </b>" + myURL.selectedItem.label + gr.attributes.ForDirIndOut.toString()
public function fLayer_graphicAddHandler(event:GraphicEvent):void
event.graphic.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler);
event.graphic.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler);
public function onMouseOverHandler(event:MouseEvent):void
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2007" && myURL.selectedIndex == 3 )
fLayer.definitionExpression = "DATA_YEAR_TXT like '2007'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 0 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpIndOut.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 1 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpEmp.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 0)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForDirLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 2 && radioBtnGroup.selectedValue == 1)
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForTotImpLabInc.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
if (yearcombo.selectedItem.year == "2009" && myURL.selectedIndex == 3 )
fLayer.definitionExpression = "DATA_YEAR_TXT like '2009'"
var graphic:Graphic = Graphic(event.currentTarget);
graphic.symbol = mouseOverSymbol;
var htmlText:String = graphic.attributes.htmlText;
var textArea:TextArea = new TextArea();
try{
textArea.htmlText = myURL.selectedItem.label + graphic.attributes.ForIndirBusTax.toString()
myMap.infoWindow.content=textArea
myMap.infoWindow.label = graphic.attributes.NAME;
myMap.infoWindow.closeButtonVisible = false;
myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));}
catch(error:Error) {
trace("Caught Error: "+error);
public function onMouseOutHandler(event:MouseEvent):void
var gr:Graphic = Graphic(event.target);
gr.symbol = defaultsym;
myMap.infoWindow.hide();
]]>
</fx:Script>
<fx:Style>
@namespace esri "http://www.esri.com/2008/ags";
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
@namespace esri "http://www.esri.com/2008/ags";
@namespace components "com.esri.ags.components.*";
components|InfoWindow
content-background-alpha : 0.4;
background-color : #4A7138;
background-alpha : 0.7;
border-style : solid;
</fx:Style>
<mx:HBox width="930" height="800" id="mapHbox" horizontalAlign="center" >
<mx:HBox width="80">
</mx:HBox>
<mx:HBox id="myHBox" width="800" height="600" backgroundColor="0xffffff" >
<mx:VBox height="590" width="358" >
<!-- <mx:Panel
width="356" height="100%"
color="0x000000"
borderAlpha="0.15"
>
-->
<mx:Canvas height="100%" width="100%" backgroundColor="0xffffff" >
<esri:Map id="myMap" openHandCursorVisible="false"
height="100%"
logoVisible="false"
doubleClickZoomEnabled="false"
scrollWheelZoomEnabled="false"
zoomSliderVisible="false"
scaleBarVisible="false" scale="4000000" >
<esri:extent>
<esri:Extent xmin="-10736651.061900" ymin="4024099.909700" xmax="-10409195.669800" ymax="3440153.831100" >
<esri:SpatialReference wkid="102100"/>
</esri:Extent>
</esri:extent>
<esri:ArcGISDynamicMapServiceLayer id="dynamicLayer2"
url="http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/counties_layer/MapServer" />
<esri:ArcGISDynamicMapServiceLayer id="dynamicLayer" name=" "
alpha="1"
load="loadLayerName()"
url="http://tfs-24279/ArcGIS/rest/services/{myURL.selectedItem.value}/MapServer" />
<esri:FeatureLayer id="fLayer"
graphicAdd="fLayer_graphicAddHandler(event)"
mode="snapshot"
outFields="*"
symbol="{defaultsym}"
url= "http://tfs-24279/ArcGIS/rest/services/RADIO_BUTTONS/feature_layer_0709_five/FeatureServer/ 0" />
</esri:Map>
</mx:Canvas>
<!-- </mx:Panel>-->
</mx:VBox>
<mx:VBox height="590" width="20" >
</mx:VBox>
<mx:Canvas height="500" width="400" backgroundColor="0xffffff"
horizontalScrollPolicy="off"
verticalScrollPolicy="off" >
<mx:VBox width="420" height="50%" paddingLeft="5" paddingTop="10" paddingRight="10" paddingBottom="10"
verticalGap="8">
<mx:Form >
<mx:FormItem label="Year :" >
<mx:ComboBox id="yearcombo" selectedIndex="0" labelField="label" width="100%" change="changeEvt(event)" >
<mx:ArrayCollection id="year" >
<fx:Object label="2007" year="2007" />
<fx:Object label="2009" year="2009" />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
<mx:FormItem label="Measure:">
<mx:ComboBox id="myURL" selectedIndex="8" width="80%" mouseOver="clickEv2(event)" close="closeHandler(event)">
<mx:ArrayCollection id="measures" >
<fx:Object id="forindout07" labeltext="Forestry Industry Output" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_07_forest_industry_output" year="2007" />
<fx:Object id="foremp07" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_07_forest_employment" year="2007" />
<fx:Object id="forlabinc07" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_07_forest_labincome" year="2007" />
<fx:Object id="forindbustax07" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_07_forest_business_tax" year="2007" />
<fx:Object id="forindout09" label="Forestry Industry Output " value="RADIO_BUTTONS/TFEI_09_forest_industry_output" year="2009" />
<fx:Object id="foremp09" label="Forestry Employment " value="RADIO_BUTTONS/TFEI_09_forest_employment" year="2009" />
<fx:Object id="forlabinc09" label="Forestry Labor Income " value="RADIO_BUTTONS/TFEI_09_forest_labincome" year="2009" />
<fx:Object id="forindbustax09" label="Forestry Indirect Business Tax" value="RADIO_BUTTONS/TFEI_09_forest_business_tax" year="2009" />
<fx:Object id="blank" label=" " />
</mx:ArrayCollection>
</mx:ComboBox>
</mx:FormItem>
</mx:Form>
<mx:VBox id="layerPanel" width="50%" height="8%" verticalGap="3" paddingLeft="17">
<mx:RadioButtonGroup id="radioBtnGroup" itemClick="radioClickHandler(event)" />
</mx:VBox>
<mx:VBox paddingLeft="17" height="50%" >
<mx:Canvas id="legendPanel" width="100%" >
<mx:Label id="myLabel" text=" " fontWeight="bold" />
<esri:Legend id="myLegend"
layers="{[dynamicLayer]}"
map="{myMap}" visible="false"
respectCurrentMapScale="false"/>
</mx:Canvas>
<mx:TextArea width="275" borderAlpha="0" height="200" >
<mx:htmlText >
<![CDATA[<font size='11'><b>Note:</b> Counties in white indicate either no data is available for that measure or the data has been supressed due to confidentiality.</font>
]]>
</mx:htmlText>
</mx:TextArea>
</mx:VBox>
</mx:VBox>
</mx:Canvas>
</mx:HBox>
</mx:HBox>
</mx:Application> -
Problem in refreshing the combo box on selection of an item in another comb
I have a situation where values to be displayed in 2nd combo box depends on the selection of an item from the 1st combo box.
Problem observed:
The 2nd combo box is not getting refreshed if the selected item from the 1st combo box has mapping to more than 10 items.
for ex:
A - AA, AB, AC, AD, AE, AF
B - BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP
C - CA, CB, CC
D - DA, DB, DC, DD
1st combo box list:
A
B
C
D
2nd combo box list:
If the value selected from the first combo box is A, C, or D then 2nd combo box refreshes with repective values. But when the value selected is B, then 2nd combo box is not getting refreshed with respective values.
Combo Model for 1st combo box:
public class proCLMLossTypeComboModel implements javax.swing.ComboBoxModel
package nz.co.towerinsurance.quantum.claims.pro;
import javax.swing.*;
import java.util.*;
import CoreProduct.mbsoPRDLossCauseTypeList;
import javax.swing.event.*;
public class proCLMLossTypeComboModel implements javax.swing.ComboBoxModel
Vector vector = null;
mbsoPRDLossCauseTypeList mbsoPRDLossCauseTypeListInst0 = null;
public void setData(Vector vector)
this.vector = vector;
public int getSize()
if(vector != null)
return this.vector.size();
else
return 0;
public void addListDataListener(ListDataListener l)
public void removeListDataListener(ListDataListener l)
public Object getElementAt(int index)
return this.vector.elementAt(index);
public Object getSelectedItem()
return this.mbsoPRDLossCauseTypeListInst0;
public void setSelectedItem(Object anItem)
mbsoPRDLossCauseTypeList mbsoPRDLossCauseTypeListInst1 = (mbsoPRDLossCauseTypeList)anItem;
this.mbsoPRDLossCauseTypeListInst0 = mbsoPRDLossCauseTypeListInst1;
public Vector getData()
return this.vector;
Combo Model for 2nd combo box:
package nz.co.towerinsurance.quantum.claims.pro;
import javax.swing.*;
import java.util.*;
import CoreProduct.mbsoPRDCauseTypeList;
import javax.swing.event.*;
public class proCLMCauseTypeComboModel implements javax.swing.ComboBoxModel
Vector vector = null;
mbsoPRDCauseTypeList mbsoPRDCauseTypeListInst0 = null;
public void setData(Vector vector)
this.vector = vector;
public int getSize()
if(vector != null)
return this.vector.size();
else
return 0;
public void addListDataListener(ListDataListener l)
public void removeListDataListener(ListDataListener l)
public Object getElementAt(int index)
return this.vector.elementAt(index);
public Object getSelectedItem()
return this.mbsoPRDCauseTypeListInst0;
public void setSelectedItem(Object anItem)
mbsoPRDCauseTypeList mbsoPRDCauseTypeListInst1 = (mbsoPRDCauseTypeList)anItem;
this.mbsoPRDCauseTypeListInst0 = mbsoPRDCauseTypeListInst1;
public Vector getData()
return this.vector;
The Panel inside which these combo boxes are used:
package nz.co.towerinsurance.quantum.claims.pro;
import nz.co.towerinsurance.quantum.logger.MessageLogger;
import nz.co.towerinsurance.quantum.claims.vmo.*;
import nz.co.towerinsurance.quantum.utility.uhoUTLDialogueContext;
import nz.co.towerinsurance.quantum.utility.uhoUTLModelHolder;
import nz.co.towerinsurance.quantum.utility.uhoUTLInteraction;
import nz.co.towerinsurance.quantum.utility.uhoUTLNotesContext;
import nz.co.towerinsurance.quantum.utility.uhoUTLPrivacyContext;
import nz.co.towerinsurance.quantum.utility.uhoUTLProcessImpContext;
import nz.co.towerinsurance.quantum.help.*;
import nz.co.towerinsurance.quantum.document.*;
import nz.co.towerinsurance.quantum.task.*;
import nz.co.towerinsurance.quantum.qtm.*;
import nz.co.towerinsurance.quantum.claims.uhoCLMClientModel;
import nz.co.towerinsurance.quantum.claims.utility.*;
import MCType.*;
import Claim.*;
import Client.*;
import Policy.*;
import CoreProduct.*;
import Security.*;
import MCUtil.*;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.ButtonGroup.*;
import java.text.*;
public class proSummaryPanel extends proCLMPanelBase implements proCLMRefreshInterface, proCLMDeclineReasonInterface
private static final MessageLogger msgLogger=MessageLogger.getLogger("claims.pro.proSummaryPanel");
uhoCLMClientModel uhoCLMClientModelInst0 = null;
Vector VectorInst0 = new Vector();
JRadioButton jRdBtnSummaryPM = new JRadioButton();
JRadioButton jRdBtnSummaryAM = new JRadioButton();
ButtonGroup ButtonGroupInst0 = new ButtonGroup();
JButton jBtnSummarySearch = new JButton();
JLabel jLblSummaryCompanyName = new JLabel();
JLabel jLblSummaryCauseType = new JLabel();
JTextField jTxtFldSummaryAmountSaved = new JTextField();
JTextField jTxtFldSummaryDateNotified = new JTextField();
JTextField jTxtFldSummary = new JTextField();
JTextField jTxtFldSummarySuburb = new JTextField();
JLabel jLblSummaryCatCode = new JLabel();
JLabel jLblSummaryLossDesc = new JLabel();
JLabel jLblSummaryDateNotified = new JLabel();
JLabel jLblSummaryCity = new JLabel();
JLabel jLblSummaryTime = new JLabel();
JLabel jLblSummaryDeclineReason = new JLabel();
JCheckBox jChkBxNcbLost = new JCheckBox();
JCheckBox jChkBxLegal = new JCheckBox();
JCheckBox jChkBxNoBlameBonus = new JCheckBox();
JLabel jLblSummaryPostCode = new JLabel();
JTextField jTxtFldSummaryStreetName = new JTextField();
JTextField jTxtFldSummaryLossDate = new JTextField();
JTextField jTxtFldSummaryCity = new JTextField();
JTextField jTxtFldSummaryTime = new JTextField();
JLabel jLblSummaryLossType = new JLabel();
JTextField jTxtFldSummaryPhone = new JTextField();
JTextField jTxtFldSummaryCompanyName = new JTextField();
JLabel jLblSummarySuburb = new JLabel();
JTextArea jTxtArLossDescription = new JTextArea();
JScrollPane jScrPnSummaryLossDesc = new JScrollPane(jTxtArLossDescription);
JTextField jTxtFldSummaryDeclineReason = new JTextField();
JPanel jPanel2 = new JPanel();
JPanel jPanel1 = this;
JLabel jLblSummaryPhone = new JLabel();
JTextField jTxtFldSummaryPostCode = new JTextField();
JLabel jLblSummaryAmountSaved = new JLabel();
JPanel jPnlSummaryCoy = new JPanel();
JLabel jLblSummaryStreetName = new JLabel();
Vector lossTypeVec = new Vector();
JComboBox jCmbBxSummaryLossType = new JComboBox(lossTypeVec);
proCLMLossTypeComboModel lossTypeComboModel = new proCLMLossTypeComboModel();
Vector causeTypeVec = new Vector();
JComboBox jCmbBxSummaryCauseType = new JComboBox();
proCLMCauseTypeComboModel causeTypeComboModel = new proCLMCauseTypeComboModel();
Vector CatCodeVec = new Vector();
JComboBox jCmbBxSummaryCatCode = new JComboBox();
proCLMCatCodeComboModel catCodeComboModel = new proCLMCatCodeComboModel();
JLabel jLblSummaryLossDate = new JLabel();
JButton jBtnSave = new JButton();
JButton jBtnCancel = new JButton();
Border border1;
TitledBorder titledBorder1;
Border border2;
Border border3;
TitledBorder titledBorder2;
Border border4;
TitledBorder titledBorder3;
GridBagLayout gridBagLayout1 = new GridBagLayout();
GridBagLayout gridBagLayout2 = new GridBagLayout();
Border border5;
TitledBorder titledBorder4;
GridBagLayout gridBagLayout3 = new GridBagLayout();
GridBagLayout gridBagLayout4 = new GridBagLayout();
Component component1;
Component component2;
* @parameter uhoUTLInteraction ,mbsoSEMPrivilege
* @return
public proSummaryPanel(proQTMBase parent, uhoUTLInteraction inter,mbsoSEMPrivilege services)
super(parent,inter,services);
try {
jbInit();
catch(Exception e) {
e.printStackTrace();
* Component initialization
* @parameter
* @return void
private void jbInit() throws Exception
component1 = Box.createHorizontalStrut(8);
component2 = Box.createHorizontalStrut(8);
jCmbBxSummaryLossType.setMinimumSize(new Dimension(225, 25));
// set the combo models
jCmbBxSummaryLossType.setModel(lossTypeComboModel);
jCmbBxSummaryCauseType.setModel(causeTypeComboModel);
jCmbBxSummaryCatCode.setModel(catCodeComboModel);
// renderer for the loss type combo
jCmbBxSummaryLossType.setRenderer(new DefaultListCellRenderer()
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus)
mbsoPRDLossCauseTypeList mbsoPRDLossTypeListObj = (mbsoPRDLossCauseTypeList) value;
String v = (mbsoPRDLossTypeListObj == null) ? null:mbsoPRDLossTypeListObj.GetLossTypeName().toString();
return super.getListCellRendererComponent(list,v,index,isSelected,cellHasFocus);
// key selection manager for loss type combo
jCmbBxSummaryLossType.setKeySelectionManager(new javax.swing.JComboBox.KeySelectionManager()
public int selectionForKey(char aKey,ComboBoxModel aModel)
try
Vector vector = lossTypeComboModel.getData();
// prepare a character array witht the first letter of loss types in lower case
char[] characterArray = new char[vector.size()];
for(int i=0;i<vector.size();i++)
mbsoPRDLossCauseTypeList mbsoPRDLossCauseTypeListInst0 = (mbsoPRDLossCauseTypeList)vector.elementAt(i);
char charac = mbsoPRDLossCauseTypeListInst0.GetLossTypeName().toString().toLowerCase().charAt(0);
characterArray[i] = charac;
Character char1 = new Character(aKey);
int index = 0;
if(char1.isUpperCase(aKey))
char char2 = char1.toLowerCase(aKey);
index = java.util.Arrays.binarySearch(characterArray,char2);
else
index = java.util.Arrays.binarySearch(characterArray,aKey);
if(index > 0)
jCmbBxSummaryLossType.setSelectedIndex(index);
else
jCmbBxSummaryLossType.setSelectedIndex(0);
jCmbBxSummaryLossType.repaint();
if(index > 0)
return index;
else
return 0;
catch(Exception e1)
msgLogger.fatal("Exception : proSumamryPanel : loss type combo key sel mgr : "+e1.getMessage());
return 0;
// renderer for cause type combo
jCmbBxSummaryCauseType.setRenderer(new DefaultListCellRenderer() {
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus)
mbsoPRDCauseTypeList mbsoPRDCauseTypeListObj = (mbsoPRDCauseTypeList) value;
String v = (mbsoPRDCauseTypeListObj == null) ? null:mbsoPRDCauseTypeListObj.GetCauseTypeName().toString();
return super.getListCellRendererComponent(list,v,index,isSelected,cellHasFocus);
// key selection manager for loss type combo
jCmbBxSummaryCauseType.setKeySelectionManager(new javax.swing.JComboBox.KeySelectionManager()
public int selectionForKey(char aKey,ComboBoxModel aModel)
try
Vector vector = causeTypeComboModel.getData();
// prepare a character array witht the first letter of loss types in lower case
char[] characterArray = new char[vector.size()];
for(int i=0;i<vector.size();i++)
mbsoPRDCauseTypeList mbsoPRDCauseTypeListInst0 = (mbsoPRDCauseTypeList)vector.elementAt(i);
char charac = mbsoPRDCauseTypeListInst0.GetCauseTypeName().toString().toLowerCase().charAt(0);
characterArray[i] = charac;
Character char1 = new Character(aKey);
int index = 0;
if(char1.isUpperCase(aKey))
char char2 = char1.toLowerCase(aKey);
index = java.util.Arrays.binarySearch(characterArray,char2);
else
index = java.util.Arrays.binarySearch(characterArray,aKey);
if(index > 0)
jCmbBxSummaryCauseType.setSelectedIndex(index);
else
jCmbBxSummaryCauseType.setSelectedIndex(0);
jCmbBxSummaryCauseType.repaint();
if(index > 0)
return index;
else
return 0;
catch(Exception e1)
msgLogger.fatal("Exception : proSumamryPanel : cause type combo key sel mgr : "+e1.getMessage());
return 0;
jBtnSummarySearch.setBorder(BorderFactory.createRaisedBevelBorder());
jBtnSummarySearch.setMaximumSize(new Dimension(119, 23));
jBtnSummarySearch.setPreferredSize(new Dimension(65, 23));
jBtnSummarySearch.setMnemonic(KeyEvent.VK_E); // 20/12
jBtnSummarySearch.setText("Search");
this.setLayout(gridBagLayout4);
ButtonGroupInst0.add(jRdBtnSummaryPM);
ButtonGroupInst0.add(jRdBtnSummaryAM);
border1 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142));
titledBorder1 = new TitledBorder(border1,"Where Is It Now?");
border2 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142));
border3 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142));
titledBorder2 = new TitledBorder(border3,"Where Is It Now?");
border4 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142));
titledBorder3 = new TitledBorder(border4,"Summary");
border5 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142));
titledBorder4 = new TitledBorder(border5,"Location of Vehicle/Boat");
jScrPnSummaryLossDesc.setToolTipText("");
jScrPnSummaryLossDesc.setFont(new java.awt.Font("SansSerif", 0, 12));
jScrPnSummaryLossDesc.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jLblSummarySuburb.setText("Suburb");
jLblSummarySuburb.setForeground(Color.black);
jLblSummarySuburb.setPreferredSize(new Dimension(100, 17));
jLblSummarySuburb.setFont(new java.awt.Font("SansSerif", 1, 12));
jTxtFldSummaryCompanyName.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryCompanyName.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryCompanyName.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryCompanyName.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryPhone.setToolTipText("");
jTxtFldSummaryPhone.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryPhone.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryPhone.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryPhone.setFont(new java.awt.Font("SansSerif", 0, 12));
jLblSummaryLossType.setText("Loss Type");
jLblSummaryLossType.setForeground(Color.black);
jLblSummaryLossType.setPreferredSize(new Dimension(102, 17));
jLblSummaryLossType.setFont(new java.awt.Font("SansSerif", 1, 12));
jTxtFldSummaryTime.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryTime.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryTime.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryTime.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryCity.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryCity.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryCity.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryCity.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryLossDate.setBackground(Color.cyan);
jTxtFldSummaryLossDate.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryLossDate.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryLossDate.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryLossDate.setFont(new java.awt.Font("SansSerif", 0, 12));
jBtnSave.setToolTipText("");
jBtnSave.setBorder(BorderFactory.createRaisedBevelBorder());
jBtnSave.setMnemonic('S');
jBtnSave.setText("Save");
jBtnSave.setPreferredSize(new Dimension(100,23)); // 30/07
jBtnSummarySearch.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(ActionEvent e) {
jBtnSummarySearch_actionPerformed(e);
//the listener for losstype combobox
jCmbBxSummaryLossType.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(ItemEvent e) {
jCmbBxSummaryLossType_itemStateChanged(e);
//Actioin listener for Save button
jBtnSave.addActionListener(new java.awt.event.ActionListener()
public void actionPerformed(ActionEvent e)
jBtnSave_actionPerformed(e);
//Actioin listener for Cancel button
jTxtFldSummaryStreetName.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryStreetName.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryStreetName.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryStreetName.setPreferredSize(new Dimension(100, 20));
jLblSummaryPostCode.setText("Post Code");
jLblSummaryPostCode.setForeground(Color.black);
jLblSummaryPostCode.setPreferredSize(new Dimension(100, 17));
jLblSummaryPostCode.setFont(new java.awt.Font("SansSerif", 1, 12));
jChkBxNcbLost.setFont(new java.awt.Font("SansSerif", 1, 12));
jChkBxNcbLost.setPreferredSize(new Dimension(130, 17));
jChkBxNcbLost.setText("NCB Lost");
jLblSummaryDeclineReason.setText("Decline Reason");
jLblSummaryDeclineReason.setForeground(Color.black);
jLblSummaryDeclineReason.setPreferredSize(new Dimension(102, 17));
jLblSummaryDeclineReason.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryTime.setText("Time");
jLblSummaryTime.setForeground(Color.black);
jLblSummaryTime.setPreferredSize(new Dimension(35, 17));
jLblSummaryTime.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryCity.setText("Town/City");
jLblSummaryCity.setForeground(Color.black);
jLblSummaryCity.setPreferredSize(new Dimension(100, 17));
jLblSummaryCity.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryDateNotified.setText("Date Notified");
jLblSummaryDateNotified.setForeground(Color.black);
jLblSummaryDateNotified.setPreferredSize(new Dimension(102, 17));
jLblSummaryDateNotified.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryLossDesc.setText("Loss Description");
jLblSummaryLossDesc.setForeground(Color.black);
jLblSummaryLossDesc.setPreferredSize(new Dimension(102, 17));
jLblSummaryLossDesc.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryCatCode.setText("Catastrophe Code");
jLblSummaryCatCode.setForeground(Color.black);
jLblSummaryCatCode.setFont(new java.awt.Font("SansSerif", 1, 12));
jTxtFldSummarySuburb.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummarySuburb.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummarySuburb.setMinimumSize(new Dimension(100, 20));
jTxtFldSummarySuburb.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryAmountSaved.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryAmountSaved.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryAmountSaved.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryAmountSaved.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryDateNotified.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryDateNotified.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryDateNotified.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryDateNotified.setPreferredSize(new Dimension(100, 20));
jLblSummaryCauseType.setText("Cause Type");
jLblSummaryCauseType.setForeground(Color.black);
jLblSummaryCauseType.setPreferredSize(new Dimension(102, 17));
jLblSummaryCauseType.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryCompanyName.setText("Company Name");
jLblSummaryCompanyName.setForeground(Color.black);
jLblSummaryCompanyName.setPreferredSize(new Dimension(100, 17));
jLblSummaryCompanyName.setFont(new java.awt.Font("SansSerif", 1, 12));
jCmbBxSummaryCatCode.setFont(new java.awt.Font("SansSerif", 0, 12));
jCmbBxSummaryCatCode.setMinimumSize(new Dimension(225, 25)); // on 21/11
jCmbBxSummaryCatCode.setPreferredSize(new Dimension(126, 25));
jRdBtnSummaryPM.setFont(new java.awt.Font("SansSerif", 1, 12));
jRdBtnSummaryPM.setPreferredSize(new Dimension(40, 17));
jRdBtnSummaryPM.setText("pm");
jTxtFldSummaryDeclineReason.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtFldSummaryDeclineReason.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryDeclineReason.setMinimumSize(new Dimension(225, 20));
jTxtFldSummaryDeclineReason.setPreferredSize(new Dimension(225, 20));
jChkBxLegal.setPreferredSize(new Dimension(130, 17));
jChkBxLegal.setText("Legal");
jChkBxLegal.setActionCommand("jChkBxLegal");
jChkBxLegal.setFont(new java.awt.Font("SansSerif", 1, 12));
jPanel2.setBorder(BorderFactory.createEtchedBorder());
jPanel2.setLayout(gridBagLayout1);
jPanel1.setLayout(gridBagLayout3);
jLblSummaryPhone.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryPhone.setForeground(Color.black);
jLblSummaryPhone.setPreferredSize(new Dimension(100, 17));
jLblSummaryPhone.setText("Phone");
jRdBtnSummaryAM.setPreferredSize(new Dimension(40, 17));
jRdBtnSummaryAM.setText("am");
jRdBtnSummaryAM.setFont(new java.awt.Font("SansSerif", 1, 12));
jRdBtnSummaryAM.setSelected(true); // 20/12
jTxtFldSummaryPostCode.setBorder(BorderFactory.createLoweredBevelBorder());
jTxtFldSummaryPostCode.setMinimumSize(new Dimension(100, 20));
jTxtFldSummaryPostCode.setPreferredSize(new Dimension(100, 20));
jTxtFldSummaryPostCode.setFont(new java.awt.Font("SansSerif", 0, 12));
jLblSummaryAmountSaved.setText("Amount Saved");
jLblSummaryAmountSaved.setForeground(Color.black);
jLblSummaryAmountSaved.setPreferredSize(new Dimension(102, 17));
jLblSummaryAmountSaved.setFont(new java.awt.Font("SansSerif", 1, 12));
jPnlSummaryCoy.setFont(new java.awt.Font("SansSerif", 1, 12));
jPnlSummaryCoy.setBorder(titledBorder4);
jPnlSummaryCoy.setLayout(gridBagLayout2);
jLblSummaryStreetName.setFont(new java.awt.Font("SansSerif", 1, 12));
jLblSummaryStreetName.setForeground(Color.black);
jLblSummaryStreetName.setPreferredSize(new Dimension(100, 17));
jLblSummaryStreetName.setText("Street Name");
jCmbBxSummaryLossType.setBackground(Color.cyan);
jCmbBxSummaryLossType.setFont(new java.awt.Font("SansSerif", 0, 12));
jCmbBxSummaryLossType.setPreferredSize(new Dimension(225, 26));
jCmbBxSummaryCauseType.setBackground(Color.cyan);
jCmbBxSummaryCauseType.setFont(new java.awt.Font("SansSerif", 0, 12));
jCmbBxSummaryCauseType.setPreferredSize(new Dimension(225, 26));
jLblSummaryLossDate.setText("Loss Date");
jLblSummaryLossDate.setForeground(Color.black);
jLblSummaryLossDate.setPreferredSize(new Dimension(102, 17));
jLblSummaryLossDate.setFont(new java.awt.Font("SansSerif", 1, 12));
jTxtArLossDescription.setLineWrap(true);
jTxtArLossDescription.setWrapStyleWord(true);
jTxtArLossDescription.setBackground(Color.cyan);
jTxtArLossDescription.setFont(new java.awt.Font("SansSerif", 0, 12));
jTxtArLossDescription.setBounds(new Rectangle(124, 39, 394, 46));
jChkBxNoBlameBonus.setPreferredSize(new Dimension(130, 17));
jChkBxNoBlameBonus.setText("No Blame Bonus ");
jChkBxNoBlameBonus.setFont(new java.awt.Font("SansSerif", 1, 12));
jPanel1.setBorder(titledBorder3);
jPanel1.setBounds(new Rectangle(23, 11, 810, 436));
jPanel1.add(jLblSummaryCatCode, new GridBagConstraints(0, 6, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jScrPnSummaryLossDesc, new GridBagConstraints(1, 1, 6, 1, 0.9, 0.15
,GridBagConstraints.SOUTHWEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
jScrPnSummaryLossDesc.getViewport().add(jTxtArLossDescription, null);
jPanel1.add(jRdBtnSummaryPM, new GridBagConstraints(5, 0, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jTxtFldSummaryDeclineReason, new GridBagConstraints(1, 8, 2, 1, 0.1, 0.1
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryLossDesc, new GridBagConstraints(0, 1, 1, 1, 0.1, 0.5
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryLossType, new GridBagConstraints(0, 3, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryCauseType, new GridBagConstraints(0, 4, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryDeclineReason, new GridBagConstraints(0, 8, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryLossDate, new GridBagConstraints(0, 0, 1, 1, 0.1, 0.05
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jTxtFldSummaryTime, new GridBagConstraints(3, 0, 1, 1, 0.1, 0.05
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryTime, new GridBagConstraints(3, 0, 1, 1, 0.1, 0.05
,GridBagConstraints.NORTH, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 107, 7));
jPanel1.add(jRdBtnSummaryAM, new GridBagConstraints(4, 0, 1, 1, 0.1, 0.05
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jCmbBxSummaryCauseType, new GridBagConstraints(1, 4, 2, 1, 0.1, 0.05
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jTxtFldSummaryLossDate, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.05
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jTxtFldSummaryDateNotified, new GridBagConstraints(1, 7, 1, 1, 0.1, 0.05
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jPanel2, new GridBagConstraints(0, 9, 6, 1, 1.0, 0.1
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(jChkBxNoBlameBonus, new GridBagConstraints(3, 0, 1, 1, 0.1, 0.0
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(jChkBxLegal, new GridBagConstraints(4, 0, 1, 1, 0.1, 0.0
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(jBtnSave, new GridBagConstraints(5, 0, 1, 1, 0.1, 0.0
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(jChkBxNcbLost, new GridBagConstraints(2, 0, 1, 1, 0.1, 0.0
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(component1, new GridBagConstraints(1, 0, 1, 1, 0.35, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel2.add(component2, new GridBagConstraints(5, 0, 1, 1, 0.35, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jCmbBxSummaryLossType, new GridBagConstraints(1, 3, 2, 1, 0.1, 0.05
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jCmbBxSummaryCatCode, new GridBagConstraints(1, 6, 2, 1, 0.1, 0.05
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jPnlSummaryCoy, new GridBagConstraints(2, 3, 4, 6, 1.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummaryPhone, new GridBagConstraints(0, 6, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummarySuburb, new GridBagConstraints(0, 3, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummaryStreetName, new GridBagConstraints(1, 2, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummaryCity, new GridBagConstraints(1, 4, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummaryPostCode, new GridBagConstraints(1, 5, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummarySuburb, new GridBagConstraints(1, 3, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummaryPostCode, new GridBagConstraints(0, 5, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummaryPhone, new GridBagConstraints(1, 6, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jTxtFldSummaryCompanyName, new GridBagConstraints(1, 0, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummaryCompanyName, new GridBagConstraints(0, 0, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummaryStreetName, new GridBagConstraints(0, 2, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPnlSummaryCoy.add(jLblSummaryCity, new GridBagConstraints(0, 4, 1, 1, 0.5, 0.16
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jLblSummaryDateNotified, new GridBagConstraints(0, 7, 1, 1, 0.1, 0.05
,GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(jBtnSummarySearch, new GridBagConstraints(1, 5, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jTxtFldSummaryLossDate.grabFocus();
jTxtFldSummaryLossDate.setNextFocusableComponent(jTxtFldSummaryTime);
jTxtFldSummaryTime.setNextFocusableComponent(jRdBtnSummaryAM);
jRdBtnSummaryAM.setNextFocusableComponent(jRdBtnSummaryPM);
jRdBtnSummaryPM.setNextFocusableComponent(jTxtArLossDescription);
jTxtArLossDescription.setNextFocusableComponent(jCmbBxSummaryLossType);
jCmbBxSummaryLossType.setNextFocusableComponent(jCmbBxSummaryCauseType);
jCmbBxSummaryCauseType.setNextFocusableComponent(jBtnSummarySearch);
jBtnSummarySearch.setNextFocusableComponent(jCmbBxSummaryCatCode);
jCmbBxSummaryCatCode.setNextFocusableComponent(jTxtFldSummaryDateNotified);
jTxtFldSummaryDateNotified.setNextFocusableComponent(jTxtFldSummaryDeclineReason);
jTxtFldSummaryDeclineReason.setNextFocusableComponent(jTxtFldSummaryCompanyName);
jTxtFldSummaryCompanyName.setNextFocusableComponent(jTxtFldSummaryStreetName);
jTxtFldSummaryStreetName.setNextFocusableComponent(jTxtFldSummarySuburb);
jTxtFldSummarySuburb.setNextFocusableComponent(jTxtFldSummaryCity);
jTxtFldSummaryCity.setNextFocusableComponent(jTxtFldSummaryPostCode);
jTxtFldSummaryPostCode.setNextFocusableComponent(jTxtFldSummaryPhone);
jTxtFldSummaryPhone.setNextFocusableComponent(jChkBxNcbLost);
jChkBxNcbLost.setNextFocusableComponent(jChkBxNoBlameBonus);
jChkBxNoBlameBonus.setNextFocusableComponent(jChkBxLegal);
jChkBxLegal.setNextFocusableComponent(jBtnSave);
jBtnSave.setNextFocusabl &nbsthe very simple strategy to do is to call removeAllItems() method for the 2nd combox box and then insert the contents. this is because the validate() method is not repeatedly called and so the contents are not updated immediately.
-
InfoView - How to Restrict values of Month Dimension Combo Box
Post Author: alexrox
CA Forum: Publishing
Product: Business Objects Enterprise XI R2
Version: XI R2
Patches Applied:
Operating System(s): Linux RHEL 4 x86
Database(s): Oracle 10gR2
Error Messages:Steps to Reproduce:
Hello, we are using Business Objects Enterprise XI R2 in the company I work, and we are facing a problem in some web intelligence reports.Our BO version is in Spanish, so maybe I do not translate some BO terms properly into English.
We have the "Time" class in the Universe we use, and in that class, we have the "month" dimension.
When we create some reports in InfoView, we can use the "month" dimension to display the results of that month (dragging and dropping that dimension in the "Analysis Context" Area).
The user can choose values in the "month" dimention through a combobox in the "analysis context" area. The problem is that Infoview allows the user to select the value "all the values" of that dimension, I mean, all the months, so that the results of the report are according to the "automatic aggregation" calculated of the values of that dimension (all the months).
But, we do not want to allow the user to select that value (all the values) of that dimension, because it causes that the report displays incorrect results (we have some percentages that have incorrect values in the aggregation, for example). I hope that you understand the problem I have tried to explain.
My question is how can we restrict so that the combo box (of the month dimension at the analysis context area ) does not allow to select "all the values"?
Is it possible? If so, do we have to make a change in the universe or is it a restriction of the web intelligence repport?
Thank you very much!
Alejandro Usero RuizPost Author: jsanzone
CA Forum: Publishing
Alejandro,
In your posting, quote "(we have some percentages that have incorrect values in the aggregation, for example).", I'm wondering if you are calculating the percentages within your universe or not? I.e. do you have a universe object that in essence is doing the math? If so, I might suggest that you not do it this way (even though in total aggregation calculations this will produce a valid result), but in disaggregate calculations (during the users "slicing and dicing") the percentages are not re-calculated by the BusObjects tool because it thinks that the data it received from the SQL output is good to go, and this is where the incorrect values in the aggregation start to show up. We had this problem too, so we ceased from calculating at the universe level and built a local variable to the report, thus BusObjects will recalcuate the percentage properly for each level of aggregation that user selects. The downside to this approach is that every report that has percentage calculations will require the local variable to be built for that report. Even users who build their own reports will have to build their own local variable to compute the percentage for their reports. The upside is that the calculations will be correct every time. -
How to change the text color to red in a combo box?
I'm writing a java program which have a combo box which shows all the name of the member from the database. However, I would like to change the text color of those member who have now currently on-line.
Please help, it's URGENT. Thanks in advance.
Clarkhi,
as i mentioned, you would require to use a custom renderer for this, for this
//Class subclass the JFrame and has a JList in it
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class ListRendererTest extends JFrame
private JList lstMenu;
private DefaultListModel defaultListModel;
private JScrollPane scrollPane;
private Vector listVector;
public ListRendererTest()
init();
addComponents();
showFrame();
public void init()
lstMenu = new JList();
defaultListModel= new DefaultListModel();
lstMenu.setModel(defaultListModel);
scrollPane = new JScrollPane(lstMenu);
listVector = new Vector();
MyListData m1 = new MyListData();
m1.setName("Rakesh");
m1.setOnline(false);
listVector.addElement(m1);
m1 = new MyListData(); //represents each User instance
m1.setName("Makesh");
m1.setOnline(true);
listVector.addElement(m1);
for (int i=0;i < listVector.size(); i++)
defaultListModel.addElement(((MyListData)listVector.elementAt(i)));
lstMenu.setCellRenderer(new MyListRenderer()); //set custom renderer
public void addComponents()
getContentPane().add(scrollPane,BorderLayout.CENTER);
public void showFrame()
setTitle("List renderer test");
setSize(300,300);
setLocation(200,200);
setVisible(true);
public static void main(String args[])
new ListRendererTest();
}The above class is the Container which houses the JList in it, it uses two other classes, MyListData which is used to represent each user instance ( username, and information about whether he is online) and MyListRenderer (custom renderer).
// Represents each user instance //
public class MyListData
private String name;
private boolean online;
public void setName(String name)
this.name = name;
public String getName()
return name;
public void setOnline(boolean online)
this.online = online;
public boolean isOnline()
return online;
//custom list renderer
import javax.swing.*;
import java.awt.*;
public class MyListRenderer extends DefaultListCellRenderer
private MyListData myListData;
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
myListData = (MyListData)value;
setText(myListData.getName());
setBackground(myListData.isOnline() ? Color.red: Color.white); //check if online, if so show in different color
setForeground(isSelected ? Color.blue : Color.black);
return this;
}hope that helps.
cheerz
ynkrish -
Creat transaction (se93) for Globa class in ABAP Objects
Hi experts,
Can any one tell me how to
creat transaction (se93) for Globa class(se24) in ABAP Objects
if ,please assest me how to do it or send me example docu on this
best Answer will be rewarded
regards
fareedashi
se93->give your transaction ->enter create.
check the radio button (Method of calss(OO class).press enter.
in next screen.
transaction text ;give your own description
tick the check box OO transaction model.
give the class name method name which u have created in se 24.which was activated successfully.it should be activated otherwise it will not work.
under GUI SUPPORT.
TICK the all 3 check boxes.
SAP GUI FOR HTML
JAVA
WINDOWS.
then save.
u should b saved in package(don't forget).
it was working.
i have already checked and did it succesfully.
reward points
if u have any queries let me know.
kiran jagana
Maybe you are looking for
-
Setting a new keyboard shortcut
I am trying to set a new keyboard shortcut. I named my New Set, chosen the Product Area, chosen the Command and tabbed to the New Shortcut window. When I try to type in the New shortcut, I can only get 1 letter typed in and then that shortcut pops
-
Lion Finder "Find" command window, cannot resize columns
If I use the Finder's "Find.." command under the File menu, a window appears that allows me to enter my serach criteria. However when I do so and a list of entries is presented, there appears to be no way to resize the columns! Als, unlike a normal F
-
Hello, I am a beginner to FCE. I have made a handful of DVDs from imovie but wanted to move up a notch and learn something new. I video for the coaches at our local high school and usually make a highlight video. Also this year I have a senior and ha
-
How to get the empty image box?
Hi, i have an form.In that form i want empty image box to upload picture like orkut etc. How can i achieve this? Regards D.Mahesh babu
-
Unauthorized app purchases charged to my credit card.
On July 26, two reciepts were sent to my e-mail. Each of them charged me $43.46. The receipt said I had purchased app "Trace-zero", Seller: tianming zhang puchased eight times ($4.99 each + tax). I soon found out that these were gifts to people with