Loop through CRD1 userDefined Fields in BeforAction = True
Hello Everbody,
Good Morning,
I have a little big problem, I've added a udf to the System table CRD1 no problem there.
Now i have to check in all the ShipTo Address if the user inputed data. if no data e display a msg and abort the (Insert/Update).
I've tryed to loop throw the DBdataSource adding a condition to select only the ShipTo Address Like this
Dim oConditions As New SAPbouiCOM.Conditions
Dim oCondition = oConditions.Add
oCondition.BracketOpenNum = 1
oCondition.Alias = "AdresType"
oCondition.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCondition.CondVal = "S"
oCondition.BracketCloseNum = 1
oForm.DataSources.DBDataSources.Item("CRD1").Query(oConditions)
I had Problems with the Query some thing like CRD1 Not UserDefinedTable
Ok new aprotch
Dim itter As Integer = 0
While True
itter += 1
Try
If oForm.DataSources.DBDataSources.Item("CRD1").GetValue("AdresType", itter).ToUpper = "S" Then
If String.IsNullOrEmpty(oForm.DataSources.DBDataSources.Item("CRD1").GetValue("U_codi_loca", itter).ToUpper) Then
BubbleEvent = False
End If
End If
Catch ex As Exception
Exit While
End Try
End While
Again no luck.
Can anyone give me a hand with this problem?
Thanks for your time in advance.
Pedro Gomes
SA - Sinfic
Helo, Petr Verner
It Worked Fine Thanks
Do you know any way to automate the deployment of this procedure?
So that my clts can run a simple addon instaler and nothing more?
Thanks again for your Help in this.
Pedro Gomes
SA - SINFIC
Similar Messages
-
Most efficient way to loop through similarly named fields?
Hi,
I have a 5 page document with each page containing appx. 50 similarly named fields. E.g. Viol1Num, Viol2Num, Vio3Num ... Viol50Num.
I am looking for an efficient way of programming a loop to look at each field in Javascript so I can do some manipulations in those fields on what the user entered.
In FormCalc I've previously used the 'foreach' function similar to:
foreach (Field1, Field2, Field3.....Field50) do
'BLAH'
endfor
however, that gets really lengthy, especially when dealing with subsequent pages where I have to start adding 'topmostSubform.Page2.' in front of each field name so that I can access from the first page all of the fields on subsequent pages. Also, I need to do this in Javascript, not FormCalc.
For example, in JS I am using this loop to mark all fields as read only:
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
How could I do something similar to that so I could look through each field and perform actions on it without having to list out every single field name?
I tried altering that to look at fields instead of field properties, but I couldn't get it to run.
Thanks.I have solved my issue. It took some battling in javascript using xfa.resolveNode.
I have 5 pages, each consisting of a series of 60 fields named Viol1Num, Viol2Num, Viol3Num .... Viol60Num.
If when this javascript runs, it detects a blank field, then insert a '3' into it.
The below is the javascript which runs for the second page of this document.
while (LoopCounter < 61) {
if ((LoopCounter != 21) && (LoopCounter != 22)) {
if((xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue == null) | (xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue == "")) {
xfa.resolveNode("topmostSubform.Page2.Viol" + LoopCounter + "Num").rawValue = 3;
LoopCounter = LoopCounter + 1 -
Loop through user text fields on a page
I am new to APEX and I have searched for an answer to this problem, but was not able to find one.
I have a page which has about 40 text boxes for user input. I would like to find a way to loop through all of the text boxes on the page when the user submits the form. I want to check the contents of each text box and filter out any characters that are not alpha or numeric. I would like to do this in one process. Is this possible? If so, how would I access the text boxes and remove the unwanted input? Could you please show me an example?
Thanks for any guidance on this.Hi,
I did not test this, but could something like after submit process work
DECLARE
l_temp VARCHAR2(32000);
BEGIN
FOR C IN
(SELECT item_name
FROM apex_application_page_items
WHERE display_as = 'Text Field'
AND application_id = :APP_ID
AND page_id = :APP_PAGE_ID
LOOP
-- Do stuff e.g. remove character Ö
l_temp := REPLACE(v(c.item_name),'Ö');
APEX_UTIL.SET_SESSION_STATE (
p_name => c.item_name,
p_value => l_temp
END LOOP;
END;Br,Jari
Edited by: jarola on Mar 4, 2010 5:26 PM -
Loop through xml, update field values and write to a file
I have the following xml file:
<candy>
<product><column name="Data">123</column>
<column name="Date">2002-1-1</column>
</product>
<product><column name="Data">456</column>
<column name="Date">2002-1-1</column>
</product></candy>
I need to update column name="Date" from its current values to a new value and then write it to a file in java. I know the steps is to build a dom tree - xml parser-xpath ect. Can anyone provide some working examples or links? I did some search on web, but could not find any examples that meet my requirements.
Thank you for your input.Here's a starting point for you:
http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXPDOM3.html -
Loop through all fields in a (2 page) form?
Is it possible to do it in one go?
suppose you have fields in 2 pages.. (2 subforms)
would you have to write a script that would check for all fields in page 1
and another to check for all fields in subform 2?
or can you just loop through the parent of the 2 subforms?.. (the aim would be to check that all required fields have been filled in or are not equal to their default value)
thank you in advanceYou can certainly write a script that'll find all fields on all pages and perform some action on them.
I've included a sample form which contains two pages with fields on them. At the top of the first page, there's a "Find Fields" button which, when pressed, populates the list box next to it with the names of each field found across all pages. Clicking on an item in the list box will then set focus to that field.
The script uses a recursive function called GetFieldNames in a Script Object called "Utils". In the function, lines 21 - 25 are as follows:
else if (oNode.className == "field")
// oNode is a field
sFieldNames += (sFieldNames.length > 0 ? "\n" : "") + oNode.name;
If you wanted to verify that all mandatory fields were filled, you could change them to this:
else if (oNode.className == "field")
// oNode is a field
if (oNode.mandatory == "error" && (oNode.rawValue == null || oNode.rawValue.length == 0))
sFieldNames += (sFieldNames.length > 0 ? "\n" : "") + oNode.name;
That would find only fields that are required and haven't been filled accross all pages.
Stefan
Adobe Systems -
Loop through to find the item if its true or untrue
Hi Gurus!
I have alogic which checks if a particular document condition item is active and then selects all and checks if the document is list or off-list. I want the logic to loop through the same logic for all conditions for the same item to determine if the item is list or off-list setting. At the end of loop it will show if it is list -1 or off list 2 or not applicable -0 and then continue with the loop. I have prepared the l;ogic but not getting through the loop logic.
data: lv_kotabnr type c length 15,
it_konv type konv,
lv_kozgf type T685-kozgf,
it_t685 type standard table of t685.
select * from konv
into it_konv where
kinak = ' ' and
knumv eq iv_knumv and
kposn eq iv_kposn .
select single kozgf into lv_kozgf
from T685 where
kappl = 'V' and
kschl = it_konv-kschl.
if sy-subrc eq 0.
select single kotabnr into lv_kotabnr
from T682I
where kappl = 'V' and
kolnr eq it_konv-kolnr and
kozgf eq ( select kozgf
from T685
where kappl = 'V' and
kschl = it_konv-kschl ).
if sy-subrc eq 0.
select single ZPRICE_TYPE into RV_IS_LIST from zsd_price_type where kotabnr = lv_kotabnr .
endif.
endif.
endif.
endselect.
If someone can help on this would be very kind.
ThanksI am using this in my method . Can someone plz help me out please.
Thanks.
I will be using this methiod in one of my querry to generate a list of pricing and will use this in one of my fields to show if its list or off list. With the code that I ahve written it will give a performance issue as its selecting one by one . SO ids there a way to have the speed of the processing increased and so that at a time itslef it selects all the items of the condition in loop and throwas out teh result.
Thanks -
Forms 6i loop through datablock question
I am writing a piece of code to loop through items with in a datablock to programmatically set the width between each field.
I created my data block through the wizard, but then manually added some fields. I have them listed in the order I expect them to be navigated, which is the order I expect them to appear on the screen.
When I am looping through the data block, I was assuming that next_item would go to the next navigable item, and it doesn't.
For example, I have items received_today, worked_today, total_waiting, total_for_today, total_calls, total_priority.
When the code loops through the data block, it actually loops in this order: received_today, worked_today, total_callbacks, total_priority, total_waiting, total_for_today.
I even set the next navigation item property for each item, but that didn't help.
My questions:
1. Is there a way to control what order the data block loops through items?
2. Why does this line get_item_property(get_block_property(block_name, FIRST_ITEM), x_pos); sometimes return null? (in my "proof of concept" form it returns a value, but the form I am modifying does not)
Following is my code:
PROCEDURE set_x_y_positions IS
current_x_position pls_integer;
current_y_position pls_integer;
block_name varchar2(30) := 'BLOCK22';
CurrentItem varchar2(30);
BEGIN
go_block(block_name);
current_x_position := get_item_property(get_block_property(block_name, FIRST_ITEM), x_pos);
current_y_position := get_item_property(get_block_property(block_name, FIRST_ITEM), y_pos);
go_block(block_name);
loop
BEGIN
if :system.cursor_item <> (block_name || '.' || get_block_property(block_name, FIRST_ITEM))
and get_item_property(:system.current_item, displayed) = 'TRUE' then
SET_ITEM_PROPERTY(:system.current_item, x_pos, current_x_position + 38);
current_x_position := get_item_property(:system.current_item, x_pos);
end if;
if :system.cursor_item = 'BLOCK22.INTERNATIONAL' THEN--block_name || '.' || get_block_property(block_name, LAST_ITEM) then
exit;
else
next_item;
end if;
END;
end loop;
END;I am using Forms 6i version 6.0.8.26.0
Thank you!
KatiaI do have an exit, and yes it does run well.
if :system.cursor_item = 'ATS_MON_REPORTING_QUEUES_VW.INTERNATIONAL' THEN--block_name || '.' || get_block_property(block_name, LAST_ITEM) then
exit;
else
next_item;
end if;That redundant go_block is there because I had some output going to a dummy field in another block, so I had to make sure it was navigating back to the block. But yes, in this code example, that go_block is redundant.
Thank you, adding the
current_x_position := get_item_property(block_name||'.'|| get_block_property(block_name, FIRST_ITEM), x_pos);
current_y_position := get_item_property(block_name||'.'|| get_block_property(block_name, FIRST_ITEM), y_pos); worked perfectly. -
How do I: Loop through Application objects
How would I loop through the application object? My goal is to see if the object is a label and change its font size.
pseudocode would look like this:
function setsize(change int) {
for each obj in application {
if obj is of type label {
set font size to font size + change
Once I got that working, I'd add other objects that display text. The "change" would be a number to increase (positive) or decrease (negative) the size.
Thanks,
JerryI have this:
<mx:HBox id="resultTextBox"
width="100%"
verticalScrollPolicy="off" horizontalScrollPolicy="auto">
<mx:Label id="resultPotentialResultsLabel"
text="Food Stamp potential eligibility for household, estimated monthly benefit amount "
styleName="textNormal"
toolTip="Results message"
tabIndex="200" tabEnabled="true" fontSize="40"/>
<mx:Text id="resultPotentialResultsData"
styleName="resultNumberNormal"
toolTip="Final results"
tabIndex="202" tabEnabled="true" />
</mx:HBox>
When I expand the font size it pushes the "resultPotentialResutsData" to limbo. I tried adding the horizonal scroll bar to allow the user to still see the results, The scroll doesn't appear.
1) is there a way to get the box to expand to fix the content?
2) is there a way to get the scroll bar to appear when needed?
3) is there a way to wrap the text (in this case the second field) in the HBox? -
Multi-record block (how do I loop through the block)
I created a two canvas form. On the first canvas, the user enters data and selects 1 - 30
reports that they want to run. When they click on <NEXT> button, I create a multi-record
control block and display each record on the second screen using
go_block;
clear_block;
move data;
create_record;
The user then selects on the second canvas which reports to run now and which to run later via
a LOV. When they press the <RUN> button, I want to start at the first record and either run the
report or schedule it. Then I want to move onto the second and the third until all selected reports
have been handled. I know I should use a loop but can't seem to make it work.
So my question is, How do I loop through the records in a multi-record control block, pass the information
for that one record to a parameter form and then execute the request? Each control block record contains
10 parameter fields.
Thanks.
Bobgo_record(1);
<< do your processing >> -- This is executed only for the first record.
if :system.last_record = 'TRUE' then -- If the 1st record is also the last record.
RETURN;
end if;
LOOP
next_record;
<< do your processing >>
if :system.last_record = 'TRUE' then
EXIT;
end if;
END LOOP;
I created a two canvas form. On the first canvas, the user enters data and selects 1 - 30
reports that they want to run. When they click on <NEXT> button, I create a multi-record
control block and display each record on the second screen using
go_block;
clear_block;
move data;
create_record;
The user then selects on the second canvas which reports to run now and which to run later via
a LOV. When they press the <RUN> button, I want to start at the first record and either run the
report or schedule it. Then I want to move onto the second and the third until all selected reports
have been handled. I know I should use a loop but can't seem to make it work.
So my question is, How do I loop through the records in a multi-record control block, pass the information
for that one record to a parameter form and then execute the request? Each control block record contains
10 parameter fields.
Thanks.
Bob -
Cannot loop through values in Node
Hi Everyone,
I am using a TreeNestedInTable UI. I have 2 columns: a Master Column with a TextView Cell Editor, and a field called "Check" whereby one of the values in the Master Column can be selected. The "checked" attribute of the Check column is mapped to a isChecked attribute in my Node that contains all the data being displayed in the TreeNestedInTable (IncidentAgent Node).
I would like to loop through all the Check boxes ticked in this TreeNestedInTable and get the corresponding Value to write to a Test Node (to make sure that I am in fact reading all cheked rows).
I do not seem to, however, get all the values checked. Please see my code below and comment. I am testing and so I put a button on the screen that should loop through all the values and see which ones are checked. It should then write these checked valus to a node that is also linked to a table control on the screen. The Idea is that each time you check a few values they should be displayed in this table control when the button is pressed. This is not happening - the table stays blank.
public void onActionSeeIACollection(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionSeeIACollection(ServerEvent)
IWDMessageManager msgMgr = wdComponentAPI.getMessageManager();
//New Element added each time:
ITEST_IA_NODEElement newElement;
//Incident Agent element:
IIncidentAgentElement agentElement;
//Loop through ALL the IncidentAgent Elements and see which ones hace got the "Check" value
//flagged:
for(int i=0;i<wdContext.nodeIncidentAgent().size();i++)
//Get the currently processed element:
agentElement = wdContext.nodeIncidentAgent().getIncidentAgentElementAt(i);
//If the Check value is flagged, add it to the TEST_IA_NODE node:
if(agentElement.getCheck())
newElement = wdContext.createAndAddTEST_IA_NODEElement();
newElement.setVALUE(agentElement.getVALUE());
msgMgr.reportSuccess(agentElement.getVALUE());
}//end if
}//end for
//@@endSure. Thank you for your help.
"Data Containing" Node:
h1 IncidentAgent(Top Level Node)
h2 RecursiveNode(Pointing to IncidentAgent as recursiveNode)
h4 Check (boolean attribute)
h4 ChildrenLoaded (boolean attribute for TreeNestedInTable)
h4 Expanded (boolean attribute for TreeNestedInTable)
h4 IsLeaf (boolean attribute for TreeNestedInTable)
h4 NODE_ID (attribute)
h4 PARENT_ID (attribute)
h4 VALUE (attribute)
Collection Cardinality: 0...N
Selection Cardinality: 0...N
Singleton: TRUE
Node that should contain VALUE attribute from node above if Check attribute above is checked
h1 TEST_IA_NODE
h4 VALUE
Collection Cardinality: 0...N
Selection Cardinality: 0...N
Singleton: TRUE -
Looping through 2 resultsets simultaneously
I need to set up a loop in which I loop through 2 ResultSets simultaneously and compare them. I have tried to use a simple while (RS1.next() || RS2.next() ), but when I try to read data from RS2 I get an "Invalid Cursor state" error. From my experience with these errors, I think it just means that RS2 isn't looping, but I don't know how to fix it.
Here's the loop I have:
while (RS1.next() || RS2.next() ) {
<%=RS1.getString("Name")%> <%=RS2.getString("Name")%>
And just to avoid any confusion, what I have written is correct, both tables have a field called 'Name'.
Can someone please help me?
ChrisUnfortunately, there is not necessarily a one-to-one relationship between the Note and Message. However, I am actually using 2 separate statement objects for the resultsets. I know exactly what you mean if there was in fact a 1-to-1 relationship, but unfortunately, since there isn't, I need 2 resultsets. I have tried a few other things since I wrote this and have come close. Here is what I've tried, so others know:
I've tried using a boolean variable set to true at the beginning and if, after going through the loop, I am at the end of both recordsets, I set it to false. This worked when I didn't have any elements in one of the tables, but, for one reason or another, when I had data in both tables, I got the same Invalid Cursor State error.
I've also tried using 2 separate boolean variables, one for each of the fields, but this also gives me this error.
So if anyone else has any ideas to help me out, I'd appreciate it.
Chris -
Looping through table in ADOBE TABLE...HOW?
Hi,
I'm having a problem with writing scripts on looping through a dynamic table in adobe and disabling certain cell in the table.
can some one write me the script to help me out...please.... here is my email add. [email protected]
Regards,
VinodHi Denise
You can use tableView for this which is available in htmlb.
There is a attribute in tableView called visibleRowCount.
The integer value that u give for this attribute , only that number of rows will be visible on your BSP page.
This is the sample code :
<htmlb:tableView id = "tb1"
headerText = "Communication"
headerVisible = "true"
design = "alternating"
visibleRowCount = "4"
fillUpEmptyRows = "true"
table = "<%= itab %>" >
<htmlb:tableViewColumn
columnName = "CURRENT_STATE"
title = "CURRENT STATE"
edit = "TRUE" />
. </htmlb:tableView>
Here tableview id and table is mandotory field.
Give as many tableViewColumn as u have column in your internal table ( Here CURRENT_STATE is the name of the Column that I have in my internal table).
Here visibleRowCount is 5, so only 5 rows will be visible at a time .For other entries u have to click on
my click handler which is like a footer in a tableView, and next 5 entries will become visible and like that.
Before implementing this, fill your internal table
in OnCreate in Flow logic ( in do_init in case of MVC). -
Nested Loops...looping through one month of data at a time year by year
Hi all,
I'm trying to create an insert statement that loops through a table that has 10 years of data (2001 to 2010) month by month to minimize impact on server and commits more frequently to avoid filling up the redo logs and rollback tablespaces. The table is large, has about 40 millions records per year. Lets say the structure of the table is the following:
Customer_ID number(9),
Order_Item_1 number(6),
Order_Item_2 number(6),
Order_Item_3 number(6),
Order_date date
The table is in flat format but I want to normalize it so that it looks like the following:
Customer_ID Order_Seq Order_Item Order_date
999999999 1 555555 01-jan-2001
999999999 2 666666 01-jan-2001
999999999 3 444444 01-jan-2001
888888888 1 555555 03-jan-2001
888888888 2 666666 03-jan-2001
But because I want to loop through month by month....I need to set it up so that it loops through month by month, year by year (Using the Order Date Field) and Order_item by Order_item. Something like:
so my insert statements would be something like if I hardcoded instead of put the insert statement into a loop:
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,1,Order_item,Order_date where Order_item_1 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='01';
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,2,Order_item,Order_date where Order_item_2 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='01';
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,3,Order_item,Order_date where Order_item_3 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='01';
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,1,Order_item,Order_date where Order_item_1 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='02';
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,2,Order_item,Order_date where Order_item_2 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='02';
insert into orders_normalized
(Customer_id,Order_seq,Order_item,Order_date) select customer_id,3,Order_item,Order_date where Order_item_3 is not null and to_char(order_date,'yyyy') = '2001' and to_char(order_date,'mm')='03';
Hope this makes sense.
ThanksDoes the sequence of items in an order really matter? In other words, do we really need to preserve that an item was in position 2 versus position 1? I bet that the sequence or position of each item in an order is not meaningful. They were probably numbered 1, 2, and 3 just to make them uniquely named columns so there would be three slots to hold up to 3 items in the denormalized table.
You only have about 400 million rows to insert, so it could feasibly be done in a single transaction (depending on your database environment).
You can always do a create table as select (CTAS) to help with undo / redo issues and get better performance. You could run it in parallel, and spit it out to a new table partitioned by month. Single DDL statement running in parallel making your new table--sounds good to me.
How about something like this:
CREATE TABLE ORDERS_NORMALIZED
(CUSTOMER_ID, ORDER_ITEM, ORDER_DATE)
PARTITION BY RANGE(ORDER_DATE)
PARTITION p200901 VALUES LESS THAN (TO_DATE('200902','YYYYMM')),
PARTITION p200902 VALUES LESS THAN (TO_DATE('200903','YYYYMM')),
PARTITION p201012 VALUES LESS THAN (TO_DATE('201101','YYYYMM'))
as SELECT CUSTOMER_ID, ORDER_ITEM_1, ORDER_DATE
FROM OTHER_TABLE
WHERE ORDER_ITEM_1 IS NOT NULL
UNION ALL
SELECT CUSTOMER_ID, ORDER_ITEM_2, ORDER_DATE
FROM OTHER_TABLE
WHERE ORDER_ITEM_2 IS NOT NULL
UNION ALL
SELECT CUSTOMER_ID, ORDER_ITEM_3, ORDER_DATE
FROM OTHER_TABLE
WHERE ORDER_ITEM_3 IS NOT NULL.....................
Out of curiosity, why not normalize it further? You could have used two tables instead of one.
One (ORDER) with:
ORDER_ID
CUSTOMER_ID
DATE
Order_id would be a new surrogate key / primary key.
Another table (ORDER_ITEM) with:
ORDER_ID
ORDER_ITEM
It would be a table that links ORDERS to ITEMS. You get the idea. -
Automator - Loop through a text file and process data through a 3rd party software
Just stumbled on Automator the other day (I am a mac n00b) and would like to automate the processing of a text file, line-by-line, using a third party tool. I would like Automator to loop through the text file one line at a time, copy the string and keep as a variable. Next, place the variable data (copied string) into the text field of the 3rd party software for processing. Once the processing is complete, I would like Automator to fetch the next line/string for processing. I see items like "copy from clipboard" and "variables" within the menu but I am not finding much documentation on how to utilizle this tool. Just hear how potentially powerful it is.
The 3rd party software is not a brand name, just something made for me to process text. I may have to use mouse clicks or tabs + [return] to navigate with Automator. A term I heard on Bn Walldie's itunes video series was "scriptable software" for which I don't think this 3rd party app would be.
Kind regards,
jwGood news and bad news...
The good news is that it should be entirely possible to automate your workflow.
The bad news is that it will be a nightmare to implement via Automator, if it's even possible.
Automator is, essentially a pretty interface on top of AppleScript/Apple Events, and with the pretty interface comes a certain stranglehold on features. Knowing how to boil rice might make you a cook, but understanding flavor profiles and ingredient combinations can make you a chef, and it's the same with AppleScript and Automator. Automator's good at getting you from points A to B but if there are any bumps in the road (e.g. the application you're using isn't scriptable) then it falls apart.
What I'm getting at is that your requirements are pretty simple to implement in AppleScript because you can get 'under the hood' and do exactly what you want, as opposed to Automator's restricted interface.
The tricky part is that if no one else can see this app it's going to be hard to tell you what to do.
I can give you the basics on reading a file and iterating through the lines of text in it, and I can show you how to 'type' text in any given application, but it may be up to you to put the pieces together.
Here's one way of reading a file and working through each line of text:
-- ask the user for a file:
set theFile to (choose file)
-- read the file contents:
set theFileContents to (read file theFile)
-- break out the lines/paragraphs of text:
set theLines to paragraphs of theFileContents
-- now iterate through those lines, one by one:
repeat with eachLine in theLines
-- code to perform for eachLine goes here
end repeat
Once you have a line of text (eachLine in the above example) you can 'type' that into another application via something like:
tell application "AppName" to activate
tell application "System Events"
tell process "AppName"
keystroke eachLine
end tell
end tell
Here the AppleScript is activating the application and using System Events to emulate typing the contents of the eachLine variable into the process. Put this inside your repeat loop and you're almost there. -
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>
Maybe you are looking for
-
ExecuteUpdate() returns 1 , but actually it has'nt updated the DB tables
DATABASE USED : ORACLE 9i This is the function that is been called. althou, this returns a +ve ans. , saying that the db has been updated ; but when i login into the DB, i donot find the row updated. public void process(File dir) throws Exception
-
Can I just plug in my external harddrive to download the saved pictures from my windows computer to my Imac?
-
How to Install 11.5.10 on win2k Server with service 4
Hi can some body give me faire idea that how to install 11.5.10 on win2k server . I have done following actvities: created the stagearea(under 11.5.10 in c:\stage11510) 1. installed mks tool kit under c:\Tools\MKSNT 2.Vc++ under the directory c:\Tool
-
J1IIN reversal accounting document not reflected in SD document flow
Dear Experts, I have created a billing document and then posted excise through J1IIN. When I reverse the Billing through VF11 there are two accounting documents generated(one for billing and other for Excise reversal). But the Excise reversal account
-
Upgrade from 2.5 to 4 - Loss of serial number of 2.5 - isn't it registered
I went from using iMovie to purchasing Final Cut Express 2.5. After I installed and registered it I liked using iMovie better for the types of projects I did but my son was using Final Cut Pro in school so I let him install FCE 2.5 Now to do work wit