Custom BoxLayouted component

Hello Flex team and members.
I'm trying to create a custom component using a BoxLayout (horizontal) . This component should display a linkbutton (iconized) along with a label. I wanted to use a BoxLayout to easy up all the positionning thing. So i copied the Box class and kept only the important thing to me.
Here is what i have:
package common
  import flash.events.Event;
  import flash.events.MouseEvent;
  import mx.containers.BoxDirection;
  import mx.containers.utilityClasses.BoxLayout;
  import mx.controls.Label;
  import mx.controls.LinkButton;
  import mx.core.Container;
  import mx.core.IUIComponent;
  public class TagLabel3 extends Container
     private var layoutObject:BoxLayout = new BoxLayout();
     [Embed(source="cancel.png")]
     protected var iconSymbol:Class;
     protected var tagLabel:Label;
     protected var closeButton:LinkButton;
     private var labelChanged:Boolean = false;
     private var _displayCloseButton:Boolean = true;
     private var _text:String;
     public function TagLabel3()
         super();
         layoutObject.target = this;
         layoutObject.direction = BoxDirection.HORIZONTAL;
         setStyle("cornerRadius", 4);
         setStyle("borderStyle", "solid");
         setStyle("borderThickness", 2);
         setStyle("backgroundColor", "#D4D4D4");
         setStyle("verticalAlign", "middle");
         // other setStyle()...
     override protected function createChildren():void
         super.createChildren();
         if (!closeButton)
           closeButton = new LinkButton();
           closeButton.setStyle("icon", iconSymbol);
           closeButton.addEventListener("heightChanged",
              function (e:Event):void {
                  minHeight = closeButton.height + 10;
           addChild(closeButton);
         if (!tagLabel)
           tagLabel = new Label();
           addChild(tagLabel);
     override protected function commitProperties():void
         if (closeButton.visible != displayCloseButton)
           closeButton.includeInLayout = displayCloseButton;
           closeButton.visible = displayCloseButton;
     override protected function measure():void
         super.measure();
         layoutObject.measure();
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
         super.updateDisplayList(unscaledWidth, unscaledHeight);
         layoutObject.updateDisplayList(unscaledWidth, unscaledHeight);
         if (labelChanged)
              tagLabel.text = text;
              labelChanged = false;
     public function get text():String
         return _text;
     public function set text(value:String):void
         if (_text != value)
             _text = value;
             labelChanged = true;
             invalidateSize();
             invalidateDisplayList();
     public function get displayCloseButton():Boolean
         return _displayCloseButton;
     public function set displayCloseButton(value:Boolean):void
         if (_displayCloseButton != value)
             _displayCloseButton = value;
             invalidateProperties();
             invalidateSize();
             invalidateDisplayList();
And now I am facing 2 problems:
- when i play with the 'text' and 'displayCloseButton' properties, the things are being updated correctly but not the size of the whole container. How can i asked the layout to resize correctly.
- the initial style is taking very long to initialize. I can really first see my container with no border and background color (but with the inner component displayed) and then 1.5 sec later the style is being set.
I first did the same component by extending an HBox but i didn't want the user to be able to wrongly add something to the HBox by calling addChild on my component.
Thank you

Hi Evgeny,
Try by clearing the browser cache and the [navigation cache|http://help.sap.com/saphelp_nw04/helpdata/en/a2/19edcf16474a9798a5681ce4fe4b25/frameset.htm]
Hope this helps.
Cheers!
Sandeep Tudumu

Similar Messages

  • Error while pointing to Custom MSS Component

    Hello,
    We are implementing MSS on Portal. I have Z copied the standard MSS Webdynpro Component HRMSS_C_CATS_APPR_DASHBRD. To point to the custom one in the Homepage, I have the Custom Component Configuration ZHRMSS_HOMEPAGE_OVP, in which when I refer to the Custom Webdynpro Component created, I get the Error : 'Component <z component name> of UIBB (Window Name) implements an Invalid Interface'.
    What can be causing this?
    Any help would be highly Appreciated.

    Try closing and reopening the project. This is a common issue with Web Dynpro projects and closing and reopening tends to fix it.

  • How to add properties to a custom JSF component?

    Hello, everybody!
    I've just developed my first custom JSF component. It's a data pager and it is working pretty well. But now I want to be able to use some of it attributes in my backing beans at runtime. I mean, I want to bind it to component in the JSF page. It already has a binding attribute in the tld file, but I want to be able to accesss two values that the renderer of my custom component calculate inside it, which would relieve me from calculating these values manually in the backing beans. So, I would like to know how to make these values external to the component.
    By now this is my custom pager class:
    import javax.faces.component.UICommand;
    public class UIPaginadorDados extends UICommand
    }You can see that it has no logic because all the logic is in the renderer class:
    import javax.faces.render.Renderer;
    public class PaginadorDadosRenderer extends Renderer
        // logic here
    }As I said I want to be able to do the following in my backing beans:
    private UIPaginadorDados pager = new UIPaginadorDados();
    // and later...
    pager.getCurrentPage();
    pager.getPageCount();In the JSF page:
    // I already can do this, because I have a binding attribute
    <urca:paginadorDados binding="#{backingBean.pager}" />I suppose that I'll have to create the properties getCurrentPage() and getPageCount() in the component class, UIPaginadorDados, but I don't know how to get the values to the properties from the renderer class. I don't even know if this is how I should do it.
    So I would appreciate a lot your help about this subject.
    Thank you.
    Marcos

    Marcos_AntonioPS wrote:
    RaymondDeCampo wrote:
    I neglected to mention: do not forget to implement the methods in StateHolder to preserve the properties you added to your component.Hello, Raymond. Could you elaborate a little more on that? If you could give a short example, it would be helpful.
    MarcosNo problem. I have already found out how.
    Thank you very much, Raymond.
    Marcos

  • Custom Pipeline Component stopped changing input filename

    Hi
    In my project, I have a custom pipeline component to change the input file name. I use it in the receive pipeline decode stage. It was working initially when I had only a receive pipeline and custom pipeline component in my solution. later I introduced
    two schemas, an orchestration, map and a send pipeline. The rename is not working anymore. Please help.
    receive adapter: FILE
    send adapter: FTP
    Custom pipeline component: (File Name Setter)
    Receive pipeline:
      decode: custom pipeline component to rename the filename
      disassemble: flatfile disassembler conecting to a document schema
    Map:
      Schema 1 to Schema 2 (transforms from Windows to Unix format)
    Orchestration:
      receive message
      transform using map above
      send message
      Exception Handler
    Send pipeline:
      FlatFile assembler
    manibest

    May be its not working now, because in the orchestration which you have added,
     you’re constructing a new message from the received message and the context properties from the Received message is not copied across to the newly constructed message. So when you use “%SourceFileName%” macro in the send port,
    the ReceivedFileName context property is missing in the newly constructed message which is sent out.
    So in your Orchestration, while constructing (in MessageAssignment shape) the outbound message from the Received message, copy the context property of the Received message to the newly constructed message. Something like this
    //This line copies all the context properties from received message to the outputted message
    msgOutputted (*)= msgReceived(*)
    //or
    //This line just copies the receive file name context property from received message to the outputted message
    msgOutputted (FILE.ReceivedFileName)= msgReceived (FILE.ReceivedFileName).
    If you’re not using the Orchestration or constructing the new message (even in map), then just add the schemas/orchestration or any pipeline would not affect the ReceiveFileName code. May be in this case, debug the pipeline and also check whether the outputted
    message has ReceivedFileName in its context property.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Custom pipeline component creates the folder name to archive messages

    Hi 
    I have an requirement that a BizTalk application is receiving untyped messages and at the receive location the pipeline have to archive the incoming message with the specifications:
    suppose I have an xml like
          <PurchaseOrder>
            <OrderId>1001</OrderId>
            <OrderSource>XYZ</OrderSource>
            <Code>O01</Code>
          </PartyType>
    In the pipeline component it has to read this xml and have to use OrderSource value 'XYZ' to create a archival folder and the message have to archive with file name '%MessageId%'
    It has to be done by writing custom pipeline component where I am not familiar with c# coding, Can anyone please how to implement mechanism.
    Thanks In Advance
    Regards
    Arun
    ArunReddy

    Hi Arun,
    Use
    BizTalk Server Pipeline Component Wizard to create a decode pipeline component for receive. Install this wizard. This shall help you to create the template project for your pipeline component stage.
    Use the following code in the Execute method of the pipeline component code. This code archives the file based with name of the file name received.
    public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(Microsoft.BizTalk.Component.Interop.IPipelineContext pc, Microsoft.BizTalk.Message.Interop.IBaseMessage inmsg)
    MemoryStream tmpStream = new MemoryStream();
    try
    string strReceivedFilename = null;
    DateTime d = DateTime.Now;
    try
    //Get the file name
    strReceivedFilename = inmsg.Context.Read("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties").ToString();
    if (strReceivedFilename.Contains("\\"))
    strReceivedFilename = strReceivedFilename.Substring(strReceivedFilename.LastIndexOf("\\") + 1, strReceivedFilename.Length - strReceivedFilename.LastIndexOf("\\") - 1);
    catch
    strReceivedFilename = System.Guid.NewGuid().ToString();
    originalStream = inmsg.BodyPart.GetOriginalDataStream();
    int readCount;
    byte[] buffer = new byte[1024];
    // Copy the entire stream into a tmpStream, so that it can be seakable.
    while ((readCount = originalStream.Read(buffer, 0, 1024)) > 0)
    tmpStream.Write(buffer, 0, readCount);
    tmpStream.Seek(0, SeekOrigin.Begin);
    //ToDo for you..
    //Access the receive message content using standard XPathReader to access values of OrderSource and construct file pathAccess the receive message content using standard XPathReader to acceess values of OrderSource and contruct the file path
    string strFilePath = //Hold the value of the file path with the value of OrderSource
    string strCurrentTime = d.ToString("HH_mm_ss.ffffff");
    strFilePath += "\\" + strReceivedFilename + "_";
    FileStream fileStream = null;
    try
    System.Threading.Thread.Sleep(1);
    fileStream = new FileStream(strFilePath + strCurrentTime + ".dat", FileMode.CreateNew);
    catch (System.IO.IOException e)
    // Handle the exception, it must be 'File already exists error'
    // Wait for 10ms, change the file name and try creating the file again
    // If the second 'file create' also fails, it must be a genuine error, it'll be thrown to BTS engine
    System.Threading.Thread.Sleep(10);
    strCurrentTime = d.ToString("HH_mm_ss.ffffff"); // get current time again
    string dtcurrentTime = DateTime.Now.ToString("yyyy-MM-ddHH_mm_ss.ffffff");
    fileStream = new FileStream(strFilePath + strCurrentTime + ".dat", FileMode.CreateNew);
    while ((readCount = tmpStream.Read(buffer, 0, 1024)) > 0)
    fileStream.Write(buffer, 0, readCount);
    if (fileStream != null)
    fileStream.Close();
    fileStream.Dispose();
    if (originalStream.CanSeek)
    originalStream.Seek(0, SeekOrigin.Begin);
    else
    ReadOnlySeekableStream seekableStream = new ReadOnlySeekableStream(originalStream);
    seekableStream.Position = 0;
    inmsg.BodyPart.Data = seekableStream;
    tmpStream.Dispose();
    catch (Exception ex)
    System.Diagnostics.EventLog.WriteEntry("Archive Pipeline Error", string.Format("MessageArchiver failed: {0}", ex.Message));
    finally
    if (tmpStream != null)
    tmpStream.Flush();
    tmpStream.Close();
    if (originalStream.CanSeek)
    originalStream.Seek(0, SeekOrigin.Begin);
    return inmsg;
    In the above code, you have do a section of code which will access the receive message content using standard XPathReader to access values of OrderSource and construct the file path. I have
    commented the place where you have to do the same. You can read the XPathReader about here..http://blogs.msdn.com/b/momalek/archive/2011/12/21/streamed-xpath-extraction-using-hidden-biztalk-class-xpathreader.aspx
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How does one define a default style for a custom Flex component?

    How does one define a default style for a custom Flex component?
    hello
    I created a new set of Flex component library slib.swc (Flex 4.5). Would also like to have a default style. defaults.css file, making it the default style of the component library.
    Like flex the builder install directory of sdks \ 4.5.0 \ frameworks out \ libs directory has a spark.swc file, open with Winrar will see defaults.css this file. Defaults.css file defines the default style of the flex spark components.
    How can it be achieved?
    As follows
    slib.swc contains a CLabelEx components, and a defaults.css file
    defaults.css source file as follows:
    @ namespace s "library :/ / ns.adobe.com / flex / spark";
    @ namespace mx "library :/ / ns.adobe.com / flex / mx";
    @ namespace cn "http://os.slib.cn";
    cn | CLabelEx
            styBackgroundAlpha: 1;
            styBackgroundColor: # 569CC0;
            styBorderAlpha: 1;
            styBorderColor: # 569CC0;
            styBorderWeight: 1;
            styCornerRadius: 3;
    In slib.swc the application MyLabel.mxml of the source file as follows:
    <? xml version = "1.0" encoding = "utf-8"?>
    <s: Application, the 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: cn = "http://os.slib.cn
                               the minWidth = "955" The minHeight = "600">
            <fxeclarations>
            </ fxeclarations>
            <cn:CLabelEx x="67" y="112"/>
    </ s: Application>
    I hope CLabelEx default use cn | CLabelEx, style to display its appearance.
    I refer to above approach, but failed to achieve. Can you please re-Detailed
    Thanks!

    dj is right. Any Folder can be a picture folder.
    Create a root level folder and add it to your Pictures Library in Windows.  It will show up with all the scattered pictures from other programs. It can even be a different dirve if you like.  You  can even specify one to be the default save location for pictures in this dialog.
    Navigate to Pictures in your Libraries in Windows Explorer Right Click and select Properties.
    Message was edited by: Rikk Flohr forgot the instructions...

  • How to migrate Stellent 7.5.1 custom layout component to OCS 10gR3

    Hi,
    I am in the process of upgrading stellent 7.5.1 to OCS 10gR3. There is a custom layout component in 7.5.1 wanted to find out how can I migrate the layout component. As probably there are changes in 10gR3 so want to find out how to migrate the custom layout component and any changes required before migrating to 10gR3.
    Thanks.

    Hi
    am putting out the steps needed for upgrading an existing CS instance from version 7.5.1 to 10gR3. Its basically a 2 step process where we use Configuration Migration Utility to migrate the CS structure and Archiver to migrate the existing contents. The steps are as follows :
    1. Install a new CS 10gR3 instance on the server and configure it as per the install guide.
    2. Verify that the basic functionalities for the newly installed instance is working fine by doing some simple tests like checkin ,checkout , update etc. Then upgrade the CS to the latest patchset level which can be downloaded from http://updates.oracle.com/download/6907073.html.
    3. Install the latest version of Configuration Migration Utility component (which is found in the same uprgade patch set ) on both the 10gR3 CS (target) instance and the 7.5.1 CS (source).Enable them on both the CS instances and restart the same.
    4. Run the Configuration Migration Utility on the source CS and download the CMU Bundle created on it.
    5. Upload the CMU Bundle created in previous step to the Target CS and import the configurations from that.Verify that the CMU process is completed successfully on the Target CS instance.
    6. Create a new archiver instance on the Source CS and export all the contents in that.
    7. Open the Archiver Applet for the target CS instance and then Point the collections to the collections.hda of the source CS instance so that we can import the contents. Start the Import process on target server.
    8. Once the CMU and Archiver Process are completed then your 10gR3 CS would be an exact replica of the Source 7.5.1 Instance.
    You may also go through System Migration Guide to get more understanding on the Migration / Upgrade processes.
    Hope this helps
    Thanks
    Srinath

  • Custom itemRenderer component based on cell value: error 1009

    I'm working on an item renderer for a dataGrid that has different states depending on the cell and row values.
    The cell value is a toggle (true or null), and sets whether content should be shown in the cell or not
    The row properties determine what is shown when the cell value is true.
    The dataGrid dataProvider is populated based on user id input.
    I created the itemRenderer as a custom actionscript component, closely following this example:
    360Flex Sample: Implementing IDropInListItemRenderer to create a reusable itemRenderer
    However, my component results in Error #1009 (Cannot access a property or method of a null object reference) when a user id is submitted.
    package components
         import mx.containers.VBox;
         import mx.controls.*;     import mx.controls.dataGridClasses.DataGridListData;
         import mx.controls.listClasses.BaseListData;
         import mx.core.*;
         public class toggleCellRenderer extends VBox
              public function ToggleCellRenderer()
              {super();}
              private var _listData:BaseListData;   
                   private var cellState:String;
                   private var cellIcon:Image;
                   private var imagePath:String;
                   private var imageHeight:int;
                   private var qty:String = data.qtyPerTime;
                   private var typ:String = data.type;
              public function get listData():BaseListData
                   {return _listData;}
              public function set listData(value:BaseListData):void
                   {_listData = value;}
              override public function set data(value:Object):void {
                   super.data = value;
                   if (value != null)
                   //errors on next line: Error #1009: Cannot access a property or method of a null object reference.
                   {cellState = value[DataGridListData(_listData).dataField]}
              override protected function createChildren():void {
                   removeAllChildren();
                   if(cellState=='true'){
                        cellIcon = new Image();
                        addChild(cellIcon);
                   //there is another state here that adds another child...
              //next overrides commitProperties()...
    There are no errors if I don't use an itemRenderer--the cells correctly toggle between "true" and empty when clicked.
    I also tried a simple itemRenderer component that disregards the cell value and shows in image based off row data--this works fine without errors or crashing. But I need to tie it to the cell value!
    I have very limited experience programming, in Flex or any other language. Any help would be appreciated.

    Your assumption that the xml file either loads with "true" or nothing  is right.
    After modifying the code to the following, I don't get the error, but it's still not reading the cell value correctly.
    package components
         import mx.containers.VBox;
         import mx.controls.*;   
         import mx.controls.dataGridClasses.DataGridListData;
         import mx.controls.listClasses.BaseListData;
         import mx.core.*;
         public class toggleCellRenderer extends VBox
              public function ToggleCellRenderer()
               super();
              private var _listData:BaseListData;   
              private var cellState:Boolean;
              private var cellIcon:Image;
              private var imagePath:String;
              private var imageHeight:int;
              private var qty:String;
              private var typ:String;
               public function get listData():BaseListData
                 return _listData;
              override public function set data(value:Object):void {
                   cellState = false;
                   if (listData && listData is DataGridListData && DataGridListData(listData).dataField != null){
                       super.data = value;
                       if (value[DataGridListData(this.listData).dataField] == "true"){
                           cellState = true;
              override protected function createChildren():void {
                   removeAllChildren();
                   if(cellState==true){
                        cellIcon = new Image();
                        addChild(cellIcon);
                   //there is another state here that adds another child...
              //next overrides commitProperties()...
    - didn't set the value of qty or typ in the variable declarations (error 1009 by this too--I removed this before but wanted to point out in case its useful)
    - added back in the get listData() function so I could use the listData
    - changed the null check
    All cells are still returning cellState = false when some are set to true, even if I comment out [if (value[DataGridListData(this.listData).dataField] == "true")] and just have it look for non-null data. That shouldn't make a difference anyway, but it confirms that all cells are returning null value.
    Swapping out the first if statement in set data with different variables results in the following:
    [if (listData != null)]  all cells return null (cellState=false for all)
    both [if (value != null)] and  [if (DataGridListData != null)]  results in error 1009 on a line following the if, so I assume they return non-null values.
    All rows have data, just not all fields in all rows, so shouldn't listData be non-null?  Could it be that the xml file hasn't fully loaded before the itemRenderer kicks in?
    I also realized  I had removed the item renderer from many of the columns for testing, and since some columns are hidden by default only one column in the view was using the itemRenderer--hence the single alert per row I was worried about earlier.
    Thanks for your help so far.

  • Custom List component in Flash builder 4.5

    Hi,
    Am new to Flash builder 4.5. I want to create a custom list component. In that i have some queries.
    They are,
    1. What are the basic procedures/steps to be followed for Component development in Flash builder 4.5
    2. What are the approaches to the component development in Fladh builder 4.5?
    3. Is there any reference sutes available?
    Thanks,
    Manikandan

    http://www.adobe.com/devnet/flex/videotraining/exercises/ex1_06.html
    you could also search blogs for custom component creation. There might be many implementations for your learning/usage.

  • Steps to create a custom Window component?

    What steps do I need to take to create a custom Window component? My approach now results in the component being uneditable in design view. What I do is simply select "New > MXML component", base it on spark.components.Window and supply a filename. I tried with a Panel component and that works fine.

    Hi,
    Step by Step creation of SAP Payroll Funcitons:
    1) Follow the menu path
       Human Resources>>Time Management>>Administration>>Tools>>Funtions/Operations
       or transaction PE04. Enter a four digit name for e.g ZIABC, and press the create
       button, enter the description. On creation the system proposes the name of
       the routine use it, or enter a name of your choice by selecting the option 'Self-defined'.
    2) During the execution of payroll some tables are filled with wage types and there amounts
       to make these tables available to your routine enter the name of the table for e.g (RT or
       CRT) in the input parameters, and to make the changes done to the data in the tables
       avaiable to the payroll enter the name of the table in the Output parameters as well.
       Input Parameters
       Ctry                                         Num     Object Name
       99                                           1       RT
       99                                           2       CRT
      and same shall be done in the Output Paramters if required.
    3) Create an include in the program PCBURZ990 (using Transaction:
    SE38), in which create a subroutine with the name supplied by SAP or the
    name selected by you during Funtion creation,
    in our case, it is FUZIABC.
    Note: The program PCBURZ990 is in SAP Namespace, so an Access Key
    will be required before you can proceed. But it will not be overwritten during any upgrade.
    *Example of the subroutine
       FORM FUZIABC.
    *enter the code
       ENDFORM.
    4) After this activate the program the Funtion and add it in the schema used for payroll processing.
    Reward points if helpful.
    Regards,
    Manoj.

  • Custom ActionScript Component icon in Design View

    Hi,
    I have created a custom ActionScript component in Flex. I have added the Icon metadata tag before the class definition:
        [IconFile("expandable-panel.png")]   
        public class ExpandablePanel extends TitleWindow
    However, though the path to the image is correct, the icon for the custom component does not show up in Design View.
    Any idea ?
    Thanks.
    Best regards,
    Karl Sigiscar.

    Not very helpful. My question is more where should the icon be placed or what kind of extra configuration is required so that Flex Builder / Flash Builder can find it in Design view.
    Yeah, yeah, I'm in the wrong forum. Doh.

  • BTDF Deployment - Custom Pipeline Component

    If I am deploying manually, I am able to deploy, GAC and get output accordingly.
    1) But when using BTDF, its not getting deployed properly and not receiving any output. What am I doing wrong ?
    2) Before deploying 'RemoveFooter' assembly and adding to PipelineBizTalk Project, how can I add that in tools of Pipeline components to add this 'RemoveFooter' component in Decode stage ?
    In BTDF mentioned this :
    <PropertyGroup>
     <IncludePipelineComponents>true</IncludePipelineComponents>
    </PropertyGroup>
    <ItemGroup>
     <PipelineComponents Include="$(ProjectName).PipelineComponents.dll">
       <LocationPath>..\PipelineComponents\bin\$(Configuration)</LocationPath>
     </PipelineComponents>
    </ItemGroup>
    MBH

    Hi
    MBH,
    The configuration that you mentioned above is totally correct. When you add the custom pipeline component in BTDF it deploys
    to “Pipeline Components” folder and at run time BTS refers the dll from this place.
    Its working for me with the same configuration and I believe it might be other problem related to the actual project.
    JB

  • Custom Pipeline Component error

    I have created a custom pipeline component which references a template file on the local drive e.g. c:\test\template.xlsx.  however when I run the application the Send pipeline fails Reason: 'c:\test\template.xlsx' could not be found. 
    It does exist, everything is spelt correctly and the host account has access to the folder.  Why can't the component see it?
    ----------------<0>----------------
    http://redeyedmonster.co.uk
    ----------------<0>----------------

    I tried a code as highlighted by Rachit, but I don’t see issue as the referred blog suggest.
    Coming to questioners code, I created a quick pipeline component which uses a dll for
    Microsoft.Office.Interop.Excel
    accessing the excel files and does something with Excel file.
    Few things I want to highlight here.
    If the questioner (RedEyeMonster) is using the same dll (Microsoft.Office.Interop.Excel)
    in the pipeline component as I used, then I am afraid Workbooks.Open’s component doesn’t just take one parameter as shown.
    Open method doesn’t have any overloaded methods. It takes few parameter and its worth checking each one on them.Some of the parameter are very important and could cause issues (like
    ReadOnly , IgnoreReadOnlyRecommended, Editable etc). As said, the
    Workbooks .Open method doesn’t just have template file location parameter. It’s worth reviewing the code again.
    Microsoft.Office.Interop.Excel.Application excelApplication = new Microsoft.Office.Interop.Excel.Application();
    //When I tried without the following couple of lines, my program waited for long time and crashed
    excelApplication.DisplayAlerts = false;
    excelApplication.Visible = true;
    Microsoft.Office.Interop.Excel.Workbook excelWorkboook = excelApplication.Workbooks.Open(@"C:\MRAshwinPrabhu\TestExcel.xsl", 2, false,
    5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "",
    false, false, 0, false, true, 0);
    While trying the code, I create a excel file as extension *.xls (older version of Excel 97-2003 workbook) and in the code I tried to open the file as “C:\foldername\FileName.xlsx”.
    *.xls and *.xlsx are different, though in the folder the excel icon may look similar they are different file extensions. I for the same error as the questioner.
    Also issue I faced while trying this is “DisplayAlerts”
    property. When I tried without setting this property to false, my program just waited for long time and crached evently. So when you use in a program like pipeline where you don’t have UI, ensure this property is set to false.
    Hope the above suggest would help the questioner.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Add change event to a custom MXML component

    I am building an MXML project in Flash Builder 4.5
    I have a custom MXML component that contains a TextInput field. I want the custom component to have a change event that triggers a function in the main application.
    I created a test project to try and solve this.  At the moment, it appears to trigger an event once and then stops.  Please take a look and let me know where I am going wrong. Many thanks.
    customComponent.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
               width="40" height="20">
        <mx:Script>
        <![CDATA[
            [Bindable]
            public var value:Number;
            protected function inputBox_clickHandler(event:KeyboardEvent):void
                if (event.keyCode == 38 ) {
                    keyUp();
                if (event.keyCode == 40 ) {
                    keyDown();
            protected function keyUp():void
                value = value++;
                dispatchEvent(new Event('change'))
            protected function keyDown():void
                value = value--;
                dispatchEvent(new Event('change'))
        ]]>
    </mx:Script>
    <mx:Metadata>
        [Event(name="change", type="flash.events.Event")]
    </mx:Metadata>
    <mx:TextInput id="inputBox" x="0" y="0" width="40" height="20"
                  text="{value}"
                  keyDown="inputBox_clickHandler(event)"
                  change="dispatchEvent(new Event('change'))"
                  />
    </mx:Canvas>
    main.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                xmlns:CustomComponents="CustomComponents.*"
                minWidth="955" minHeight="600" layout="absolute">
    <mx:Script>
        <![CDATA[
            private function changeTestLabel():void
                testLabel.text = String(myComponent.value);
        ]]>
    </mx:Script>
    <CustomComponents:customComponent x="180" y="183"
        id="myComponent" value="0"
        change="changeTestLabel()">
    </CustomComponents:customComponent>
    <mx:Label id="testLabel" x="165" y="206" text="Test label"/>
    </mx:Application>

    I have found the solution to this...
    The clue was that it worked the first time a change was made, changing the value to the default '0'.
    The problem was that the var value is type Number and the inputBox.text is type String.
    I therefore added the following function:
      protected function textChange():void
       value = Number(inputBox.text);
       dispatchEvent(new Event('change'))
    I also changed the  change="dispatchEvent(new Event('change'))"  property to
       valueCommit="textChange()"
    ... and that fixed it..
    Thanks to all those who took the trouble to look at this

  • Create custom declarative component like container

    Hi all,
    I'm using Jdev 12c.
    I wanna create a custom declarative component like this:
    container.jsf :
    <af:panelGroupLayout id="#{attrs.Name}_VIEWPORT" layout="scroll" binding="#{attrs.Binding}"
                             inlineStyle="position:absolute;width:#{attrs.ViewportWidth}px;height:#{attrs.ViewportHeight}px;top:#{attrs.ViewportY}px;left:#{attrs.ViewportX}px;border:1px solid;background:#c6c6ff;z-index:#{attrs.ZIndex};">
            <af:panelGroupLayout id="#{attrs.Name}" layout="scroll"
                                 inlineStyle="position:absolute;width:#{attrs.Width}px;height:#{attrs.Height}px;">
            </af:panelGroupLayout>
        </af:panelGroupLayout>
    <af:xmlContent>
            <afc:component>
                <afc:description/>
    </af:xmlContent>
    I use this custom component to group some child components like this:
    <abc:container ...>
         <af:inputText ... />
         <af:inputText ... />
    </abc:container>
    But the things is in Java code, I cannot get RichInputText components :
    this is my function:
        private void getFacetAndChild(UIComponent parent) {
            Iterator childrens = parent.getFacetsAndChildren();
            while (childrens.hasNext()) {
                UIComponent child = (UIComponent)childrens.next();
                System.out.println("Log child >> " + child);
                getFacetAndChild(child);
    this function only print the second RichPanelGroupLayout.
    Any ideas to help me to get all RichInputText ?
    Thanks and Best Regards!

    Hi All,
    I found the solution. Just add one facet to Custom Container
    <af:panelGroupLayout id="#{attrs.Name}_VIEWPORT" layout="scroll" binding="#{attrs.Binding}" 
                             inlineStyle="position:absolute;width:#{attrs.ViewportWidth}px;height:#{attrs.ViewportHeight}px;top:#{attrs.ViewportY}px;left:#{attrs.ViewportX}px;border:1px solid;background:#c6c6ff;z-index:#{attrs.ZIndex};"> 
            <af:panelGroupLayout id="#{attrs.Name}" layout="scroll" 
                                 inlineStyle="position:absolute;width:#{attrs.Width}px;height:#{attrs.Height}px;"> 
                           <af:facetRef facetName="child"/>
            </af:panelGroupLayout> 
        </af:panelGroupLayout> 
    <af:xmlContent> 
            <afc:component> 
                <afc:description/> 
    </af:xmlContent> 
    And the used page:
    <abc:container ...>
         <f:facet name="child">
              <af:inputText ... />
              <af:inputText ... />
         </f:facet>
    </abc:container>
    Maybe this solution will help others to create a custom container
    Thanks and Best Regards!

Maybe you are looking for

  • Connect Mid-2009 Macbook Pro to HDTV via Mini Displayport to HDMI adapter

    Hello, I'm trying to connect my Mac to my HDTV via a Mini Displayport to HDMI converter I bought at the Apple Store. I have tried on three different HDTVs, none of which allow me to output video. I have tried adjusting the resolution to every availab

  • How do I create a PDF Form in Pages

    I am trying to work out how I can create a questionnaire in Pages with drop down boxes that converts to a PDF form for my clients to complete. At present I am using Serif on my Windows Laptop but would like to use the Mac to do this. The aim is that

  • Air Update installation error

    Received notice that update was available for Adobe Air. Downloaded update. While installing, I received this 'Application Install' error. Sorry, an error has occurred. This application cannot be installed because this installer has been misconfigure

  • HT4906 photo stream without iphoto

    I am wanting to use Photostream to see my pictures in all my devices but I don't want to use Iphoto, since it is clunky and not useful. Is there any other program with which I can use photostream? Can I use photostream directly uploading my select fo

  • How do i download imovie without upgrading my older mac to os x lion?

    It seems like I cant download Imovie from apple any more without accessing the app store, which needs you to download the new lion os in order to work. My mac cant handle lion as its a bit older, so how can i just get the imovie software without doin