Using TableView and MVC

I have a problem with TableView. I use TableView to display a table which is an attribute of my model class.
Code in the view looks like this:
  <htmlb:tableView
       id            = "TEST_ID"
       table         = "//model/t_selected_employees"
       selectionMode = "MULTISELECT" />.
I also have a few buttons on this view, when the button is pressed in DO_HANDLE_EVENT method I append a line to table but when the next DO_HANDLE_DATA method occurs table flushes. All other parameters stay filled.
Thank you for future help.

your code in do_handle_event should luk like this now :
************Code .
DATA:
lt_string_table TYPE string_table.
CHECK NOT event IS INITIAL.
IF htmlb_event_ex->event_name = xhtmlb_events=>buttongroup AND
htmlb_event_ex->event_type = xhtmlb_events=>buttongroup_click.
DATA: ls LIKE LINE OF model->t_selected_employees.
CASE htmlb_event_ex->event_defined.
WHEN 'TEST'.
call model->insert_line.
ENDCASE.
ENDIF.
Code ends.
in Model class create the insert_line methos and put your append code there as  :
mothod insert_line.
ls-num = 55. ls-pernr = '00001280'. ls-fio = 'TEST'.
APPEND ls t_selected_employees.
endmethod.

Similar Messages

  • Error in displaying hierachry report with TableView and Tableiterator

    Hello,
    I tried to create a BSP as shown in this tutorial:
    /people/vijaybabu.dudla/blog/2008/08/04/display-hierarchy-report-in-bsp-using-tableview-and-tableview-iterator
    When starting the BSP I get an error that a field symbol is not assigned in the method get_column_name.
    When debugging the method get_column_name I can see that row_ref is initial. So the field symbols <row> and <col> are not assigned to any values, which causes the error some lines below.
    METHOD get_column_value .
    *-To get the Column values which is used in the Interator
      FIELD-SYMBOLS: <row> TYPE ANY, <col> TYPE ANY, <cur> TYPE ANY.
      ASSIGN row_ref->* TO <row>.
      ASSIGN COMPONENT column_name OF STRUCTURE <row> TO <col>.
      DATA tempchar(240) TYPE c.
      IF currency IS NOT INITIAL.
        ASSIGN COMPONENT currency OF STRUCTURE <row> TO <cur>.
        WRITE <col> CURRENCY <cur> TO tempchar.
        MOVE tempchar TO column_value.
        CONCATENATE column_value ` ` <cur> INTO column_value.
      ELSE.
        WRITE <col> TO tempchar.
        MOVE tempchar TO column_value.
      ENDIF.
      CONDENSE column_value.
    ENDMETHOD.
    Any help?
    Thank you

    Hi Patrick,
    Thank you for the answer.
    Unfortunately there is still the error with the unassigned field symbol after implementing the render_row_start method.
    Any help?
    Edit: It works now. There was an error with a wrong variable name (stupig mistake.)
    Thanks for the help!
    Edited by: Robert Karlovic on Mar 5, 2009 10:29 AM

  • TableView in MVC - how to bind view to controller data?

    Hi,
    I have a default view in my BSP with a tableView on it. I have set the table and iterator variables. In the controller DO_INIT I am selecting the reqd data - how do I pass this data to my table view?
    I have created a iterator class and implemented the required methods - how should I use this iterator class to move the data to the view.
    In the DO_REQUEST method I am setting the attributes for the view - the table values and also iterator attribute, but its not working...
    Thanks
    Kiran

    All right we will try this one question at a time:
    >How do I use the iterator, where do I implement the std. methods of the iterator interface.
    I think that has already been answered in another thread after your question. But just to be clear, the iterator is generally a completly separate class that implements the interface IF_HTMLB_TABLEVIEW_ITERATOR.  I said generally, because technically this can be any object that implements this interface.  You could implement this interface in your model, your controller, or your application class - but this is not advised.  I like to create a separate class and instaniate it either in my model or my application class.  I store the object reference as an attribute of the hosting object.  This makes the iterator easily accessible when you need it.
    >How will my view know that it has to use the iterator class that I create?
    It doesn't.  Nor does it need to.  The view has nothing to do with the iterator.  The iterator is not a general method for generating Extension Elemetns (that is what the BEE is for).  The iterator class is specific to the element htmlb:tableView and can only be used with this element.  The Iterator instance is passed into the tableView during the definition of this element in the view.  The class behind the tableView will then use and interact with the iterator class at the correct times.  The table will pass the correct data into the iterator object so that the iterator can pass over either the column, the row, or the cell (the three different methods of the interface) and change the rendering of the tableView.
    >I am new to MVC and dont know how to create biding between view & model attribute.
    Yes Data binding is done between a view and a model (the model's attributes) not the controller. Data binding is very useful as metadata about fields can be consumed automatically by UI elements in the View.  It also handles Input Handleing for you.  I can't explain the entire concept of MVC and databind in a thread posting - as that wouldn't do it justice. However there are blogs, on-help and chapters in certain BSP Books dedicated to just that topic.
    >Finally is the model class & application class one & the same?
    No they are very different objects with different purposes.  Application classes existed before MVC was supported by BSP.  You can have one and only one application class per BSP application.  They are used in stateful applications to store data and object references over the entire lifetime of the application.  They can also be holders for application logic that spans the entire application. However since the introduction of MVC (in release 6.20) they should take a back seat to full MVC.  MVC separates the presentation logic (view), flow and eventing (Controller) and Application Logic (Model) into separate objects.  In a BSP application you can have 0:n model objects.  Technically a model class is any standard ABAP class that inherits from CL_BSP_MODEL2.  You create them in the ABAP Editor like any other class. However the inheritance has methods that can be called by the BSP and MVC framework to perform functions like data binding.

  • When to use servlets and jsp in an application like  shoping cart?

    Hi All
    I m going to design and implement a web application using servelts and jsp. I am still at its requirements analyze stage.
    The application is almost likely a shopping cart. So if any of you have the deep knowledge about this domain with servlets and jsp please help me for a good design. What I realy need to know is that
    1. what are the core requirements for a shoping cart ?
    2. use cases ?
    3. best way to follow mvc with servlets and jsp for it?
    you can answer to this at the abstract level. no need to go in detail.
    if you have any documents like design and use cases mail me to [email protected]
    your cooperation is highly appreciated in this regards.

    Look into this kid
    http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Session-Tracking.htm

  • Checkbox  in a table loop - without using Tableview or Iterator.

    My client doesnt want to use tableview or iterator. We are using basic html to create the page. I know I can accomplish much easily using tableviews...but I am not allowed to use it.
    My requirement is simple. In my layout I loop at my internal table and display the contents. The last field is displayed as a checkbox.
    Ex:
    Name  status flag
    Tom  10         [ ]
    Ted    20        [X]
    Rob    10       [X]
    My loop in the Layout is as below:
    <%
      loop at t_rqdt into l_rqdt.
      if l_rqdt-flag = 'X'.
         l_chk = 'checked'.
      endif.
    %>
    <tr bgcolor="#EFEFEF">
    <td></td>
    <td <%= l_rqdt-name %> </td>
    <td <%= l_rqdt-status %></td>
    <td class=tdstatus width=40% >
    <input type=checkbox name="flag" value="flag" <%= l_chk %> > </td>
      </tr>
    <%
      endloop.
    %>
    When I select couple of rows and mark the flag field checkbox, and SUBMIT at the end, and when I see my internal table t_rqdt field r_rqdt-flag.. I dont see them having value X for the rows I marked the check boxes.
    Can anyone please help me how can I trap the checkboxes marked inside a table loop in my on input processing?
    Thanks
    PK

    Much Thanks Raja! It worked!!
    I declared as below for the form fields and was able to get values.
        DATA:  t_form_fields TYPE tihttpnvp.
        DATA:  l_form_fields TYPE LINE OF tihttpnvp.
        CALL METHOD request->get_form_fields
          CHANGING
            fields = t_form_fields.
    One more before my client asks me to do..
    if I place a button CheckALL and Uncheck All on the layout, how can we check/uncheck all the checkboxes on the client side. Any simple Javascript method available? I know I can pass the itab to on input processing and get the flags set, but if it can be achieved on the client side using a script that would help.
    Please let me know.
    Thanks.

  • Using TableView in DefaultStyledDocument

    I have added tables to a DefaultStyledDocument using TableView, TableRow and ParagraphView for cells. I add text to the document using insertText(position, string, style) and tables using insert(position, elementSpec[]). The element spec array for a table might be:
    tableStart
      rowStart
        cellStart
          content
        cellEnd
      rowEnd
    tableEndThis all works OK but in my tests, the table won't resize along the Y axis when it is not the first thing in the document. If it is the first (or only) thing everything is fine. The cells contain text and strangely, this wraps as expected as the window is shrunk but intercepting setSize at the table, row and cell levels shows that the Y axis never grows as the lines in the cells are broken. I'm drawing a border so, of course, the text appears 'outside' and if scrolling is required then anything below the preceived table size cannot be brought into view.
    Using Java 1.4.1 on WinNT - Ideas welcome.

    The key to using TableView is to realise that it does the row/column span stuff but doesn't enforce the type of children you might want to put in it. It is declared abstract so you must extend it to use it, and if you want to use the TableRow inner class you must create the rows in the context of a TableView instance. That said, here is my code again. I explain the important points below:
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.Rectangle2D;
    import java.awt.Shape;
    import java.awt.BasicStroke;
    import javax.swing.SizeRequirements;
    import javax.swing.event.DocumentEvent;
    import javax.swing.text.View;
    import javax.swing.text.BoxView;
    import javax.swing.text.Document;
    import javax.swing.text.ViewFactory;
    import javax.swing.text.Element;
    import javax.swing.text.AttributeSet;
    import javax.swing.text.ParagraphView;
    import java.util.HashSet;
    * @author $Author: Sanderst $
    * @version $Revision: 1 $
    public class StyledEditorKit extends javax.swing.text.StyledEditorKit
      private static HashSet elementTypes__;
      public static String TABLE = "table";
      public static String ROW   = "row";
      public static String CELL  = "cell";
      private ViewFactory viewFactory_ = new ExtendedViewFactory();
      private ViewFactory origVf_;
      static
        elementTypes__ = new HashSet();
        elementTypes__.add(TABLE);
        elementTypes__.add(ROW);
        elementTypes__.add(CELL);
      public StyledEditorKit(ViewFactory vf)
        origVf_ = vf;
      public Document createDefaultDocument()
        return new StyledDocument();
      public ViewFactory getViewFactory()
        return viewFactory_;
      private class ExtendedViewFactory implements ViewFactory
        public View create(Element elem)
             String kind = elem.getName();
          System.out.println("ExtendedViewFactory.create " + kind);
             if (elementTypes__.contains(kind))
            if (kind.equals(TABLE))
              //System.out.println("ExtendedViewFactory.create TABLE!");
              return new TableView(elem);
            else if (kind.equals(ROW))
              // If this gets called its a problem because TableRow is a
              // member-inner class of TableView and we don't have the
              // TableView to create it with.  loadChildren is called instead
              //System.out.println("ExtendedViewFactory.create ROW!");
              return null;
            else if (kind.equals(CELL))
              //System.out.println("ExtendedViewFactory.create CELL!");
              //return new ParagraphView(elem);
              TableCell tc = new TableCell(elem);
              tc.setBorderWidth((short)1);
              tc.setCellPadding((short)3);
              return tc;
            else
              return origVf_.create(elem); // Defer to swing's ViewFactory
             else
            // Defer to swing's ViewFactory
            return origVf_.create(elem);
      static private class TableView extends javax.swing.text.TableView
        private View parent_;
        final static private BasicStroke stroke_ = new BasicStroke(1.0f);
        TableView (Element elem)
          super(elem);
          //System.out.println("TableView()");
        // Override to protect our children from having their
        // parent view set to null as well.  See View.setParent()
        public void setParent(View parent)
          if (parent != null)
            super.setParent(parent);
          parent_ = parent;
        public View getParent()
          return parent_;
        public void paint(Graphics g,
                          Shape    allocation)
          //layoutChanged(View.Y_AXIS);
          super.paint(g, allocation);
          //System.out.println("TableView.paint");
        public void setSize(float width, float height)
          super.setSize(width, height);
          //System.out.println("TableView.setSize          " + hashCode() + " " + width + " " + height);
        public float getPreferredSpan(int axis)
          float f = super.getPreferredSpan(axis);
          //if (axis == View.Y_AXIS)
            //System.out.println("TableView.getPreferredSpan " + hashCode() + " " + axis + " " + f);
          return f;
        public float getMinimumSpan(int axis)
          float f = super.getMinimumSpan(axis);
          //if (axis == View.Y_AXIS)
            //System.out.println("TableView.getMinimumSpan   " + hashCode() + " " + axis + " " + f);
          return f;
        public float getMaximumSpan(int axis)
          //float f = super.getMaximumSpan(axis);
          float f ;
          if (axis == View.X_AXIS)
            f = super.getPreferredSpan(axis);  // No stretch.  Could make configurable...
          else
            f = super.getMaximumSpan(axis);
          //if (axis == View.Y_AXIS)
            //System.out.println("TableView.getMaximumSpan   " + hashCode() + " " + axis + " " + f);
          return f;
        protected void loadChildren(ViewFactory f)
          if (f == null)
            // No factory. This most likely indicates the parent view
            // has changed out from under us, bail!
            System.out.println("No factory!!");
            return;
          //System.out.println("TableView.loadChildren()");
          Element e = getElement();
          int n = e.getElementCount();
          if (n > 0)
            View[] added = new View[n];
            for (int i = 0; i < n; i++)
              added[i] = new TableRow(e.getElement(i));
            replace(0, getViewCount(), added);
        public class TableRow extends javax.swing.text.TableView.TableRow
          TableRow(Element elem)
            super(elem);
          public void paint(Graphics g,
                            Shape    allocation)
            super.paint(g, allocation);
            drawCellBorder(g, allocation);
            //System.out.println("TableRow.paint");
          public void setSize(float width, float height)
            super.setSize(width, height);
            //System.out.println("TableRow.setSize           " + hashCode() + " " + width + " " + height);
          public float getPreferredSpan(int axis)
            float f = super.getPreferredSpan(axis);
            //if (axis == View.Y_AXIS)
              //System.out.println("TableRow.getPreferredSpan  " + hashCode() + " " + axis + " " + f);
            return f;
          public float getMinimumSpan(int axis)
            float f = super.getMinimumSpan(axis);
            //if (axis == View.Y_AXIS)
              //System.out.println("TableRow.getMinimumSpan    " + hashCode() + " " + axis + " " + f);
            return f;
          public float getMaximumSpan(int axis)
            float f = super.getMaximumSpan(axis);
            //if (axis == View.Y_AXIS)
              //System.out.println("TableRow.getMaximumSpan    " + hashCode() + " " + axis + " " + f);
            return f;
          protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
            int min   = 0;
            long pref = 0;
            int max   = 0; //Integer.MAX_VALUE;
            int n = getViewCount();
            for (int i = 0; i < n; i++)
              View v = getView(i);
              min = Math.max((int) v.getMinimumSpan(axis), min);
              pref = Math.max((int) v.getPreferredSpan(axis), pref);
              max = Math.max((int) v.getMaximumSpan(axis), max);
            if (r == null)
              r = new SizeRequirements();
              r.alignment = 0.5f;
            r.preferred = (int) pref;
            r.minimum = min;
            r.maximum = max;
            return r;
          protected void drawCellBorder(Graphics g,
                                        Shape    allocation)
            // Get the overall bounding rectangle of the row
            Rectangle2D r = allocation.getBounds2D();
            // Set up the drawing
            Graphics2D g2 = (Graphics2D)g;
            g2.setStroke(stroke_);
            g2.setColor(Color.BLACK);
            int children = getViewCount();
            // draw each cell border
            for (int i = 0; i < children; i++)
              int width = getSpan(View.X_AXIS, i);
              r.setRect(r.getX(), r.getY(), width, r.getHeight());
              //System.out.println("draw " + r);
              g2.draw(r);
              // Move the rectangle origin on to the next cell starting point
              r.setRect(r.getX() + width, r.getY(), width, r.getHeight());
      static private class TableCell extends ParagraphView
        private short borderWidth_  = 0;
        private short cellPadding_  = 0;
        public TableCell(Element elem)
          super(elem);
        public void setBorderWidth(short width)
          if (width < 0)
            return;
          short oldBw  = borderWidth_;
          borderWidth_ = width;
          setInsets((short)(getTopInset()    - oldBw - cellPadding_),
                    (short)(getLeftInset()   - oldBw - cellPadding_),
                    (short)(getBottomInset() - oldBw - cellPadding_),
                    (short)(getRightInset()  - oldBw - cellPadding_));
        public void setCellPadding(short padding)
          if (padding < 0)
            return;
          short oldCp  = cellPadding_;
          cellPadding_ = padding;
          setInsets((short)(getTopInset()    - oldCp - borderWidth_),
                    (short)(getLeftInset()   - oldCp - borderWidth_),
                    (short)(getBottomInset() - oldCp - borderWidth_),
                    (short)(getRightInset()  - oldCp - borderWidth_));
        public void paint(Graphics g,
                          Shape    allocation)
          super.paint(g, allocation);
          //System.out.println("TableCell.paint @" + Integer.toHexString(hashCode()) + " parent: " + getParent());
        public void setSize(float width, float height)
          super.setSize(width, height);
          //System.out.println("TableCell.setSize          " + hashCode() + " " + width + " " + height);
        public float getPreferredSpan(int axis)
          float f = super.getPreferredSpan(axis) + 2 * borderWidth_ + 2 * cellPadding_;
          //if (axis == View.Y_AXIS)
            //System.out.println("TableCell.getPreferredSpan " + hashCode() + " " + axis + " " + f);
            //if (height_ != f)
             // height_ = f;
              //getParent().preferenceChanged(this, false, true);
          return f;
        public float getMinimumSpan(int axis)
          float f = super.getMinimumSpan(axis) + 2 * borderWidth_ + 2 * cellPadding_;
          //if (axis == View.Y_AXIS)
            //System.out.println("TableCell.getMinimumSpan   " + hashCode() + " " + axis + " " + f);
          return f;
        public float getMaximumSpan(int axis)
          //float f = getPreferredSpan(axis);
          float f = super.getMaximumSpan(axis) + 2 * borderWidth_ + 2 * cellPadding_;
          //if (axis == View.Y_AXIS)
            //System.out.println("TableCell.getMaximumSpan   " + hashCode() + " " + axis + " " + f);
          return f;
        protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
          SizeRequirements s = super.calculateMajorAxisRequirements(axis, r);
          //System.out.println("TableCell.calculateMajorAxisRequirements   " + hashCode() + axis + " " + " " + s);
          return s;
        protected void setInsets(short top,
                                 short left,
                                 short bottom,
                                 short right)
          short ntop    = (short)(top    + borderWidth_ + cellPadding_);
          short nleft   = (short)(left   + borderWidth_ + cellPadding_);
          short nbottom = (short)(bottom + borderWidth_ + cellPadding_);
          short nright  = (short)(right  + borderWidth_ + cellPadding_);
          super.setInsets(ntop,
                          nleft,
                          nbottom,
                          nright);
        protected void setParagraphInsets(AttributeSet attr)
          super.setParagraphInsets(attr);
          setInsets(getTopInset(),
                    getLeftInset(),
                    getBottomInset(),
                    getRightInset());
    }From the top:
    1)
    To make swing understand the new element types for creating tables you need your own EditorKit and ViewFactory. I personally like to delegate to, rather than extend the default ViewFactory so I check if the element type (that is the attribute name) is one that my ViewFactory implementation understands and if not fall back to the Swing one.
    2)
    My TableView extension only tweaks the geometry methods so that the table doesn't stretch to the full width of the space available. This is hard-coded but, like other things, will be set from the element's attributes when I use it in anger. It does its own parent handling - see above. Apart from that all methods are just intercepts to aid my debugging (I mean understanding) of javax.swing.text :-)
    TableView.loadChildren creates the rows, thus satisfying the inner class nature of TableView.TableRow.
    3)
    TableRow just tweaks the geometry to stop rows growing to the full height of the available space, and I added border drawing (see below)
    4) TableCell is an extension of ParagraphView. Again, borders and padding should be read from attributes, tbd.
    Now you need to install the editor kit in any text pane you create - here's my extension of JTextPane to do that:
    public class JTextPane extends javax.swing.JTextPane
      public JTextPane()
      protected EditorKit createDefaultEditorKit()
        EditorKit ek = super.createDefaultEditorKit();
        ViewFactory vf = ek.getViewFactory();
        return new StyledEditorKit(vf);
    }Finally I extended DefaultStyledDocument but only to expose some useful protected methods:
    public class StyledDocument extends DefaultStyledDocument
       * Expose protected method.
      public void create(DefaultStyledDocument.ElementSpec[] data)
        super.create(data);
      public void insert(int offset,
                            DefaultStyledDocument.ElementSpec[] data) throws BadLocationException
        super.insert(offset, data);
    }Then to add tables you can use these methods like:
          SimpleAttributeSet section = new SimpleAttributeSet();
          section.addAttribute(AbstractDocument.ElementNameAttribute, "section");
          SimpleAttributeSet table = new SimpleAttributeSet();
          table.addAttribute(AbstractDocument.ElementNameAttribute, "table");
          SimpleAttributeSet row = new SimpleAttributeSet();
          row.addAttribute(AbstractDocument.ElementNameAttribute, "row");
          SimpleAttributeSet cell = new SimpleAttributeSet();
          cell.addAttribute(AbstractDocument.ElementNameAttribute, "cell");
          SimpleAttributeSet redStyle = new SimpleAttributeSet();
          redStyle.addAttribute(StyleConstants.Foreground, Color.RED);
          SimpleAttributeSet greenStyle = new SimpleAttributeSet();
          greenStyle.addAttribute(StyleConstants.Foreground, Color.GREEN);
          DefaultStyledDocument.ElementSpec esSectionStart = new DefaultStyledDocument.ElementSpec(section, DefaultStyledDocument.ElementSpec.StartTagType);
          DefaultStyledDocument.ElementSpec esSectionEnd   = new DefaultStyledDocument.ElementSpec(section, DefaultStyledDocument.ElementSpec.EndTagType);
          DefaultStyledDocument.ElementSpec esTableStart = new DefaultStyledDocument.ElementSpec(table, DefaultStyledDocument.ElementSpec.StartTagType);
          DefaultStyledDocument.ElementSpec esRowStart   = new DefaultStyledDocument.ElementSpec(row,   DefaultStyledDocument.ElementSpec.StartTagType);
          DefaultStyledDocument.ElementSpec esCellStart  = new DefaultStyledDocument.ElementSpec(cell,  DefaultStyledDocument.ElementSpec.StartTagType);
          DefaultStyledDocument.ElementSpec esTableEnd   = new DefaultStyledDocument.ElementSpec(table, DefaultStyledDocument.ElementSpec.EndTagType);
          DefaultStyledDocument.ElementSpec esRowEnd     = new DefaultStyledDocument.ElementSpec(row,   DefaultStyledDocument.ElementSpec.EndTagType);
          DefaultStyledDocument.ElementSpec esCellEnd    = new DefaultStyledDocument.ElementSpec(cell,  DefaultStyledDocument.ElementSpec.EndTagType);
          DefaultStyledDocument.ElementSpec esCell1 = new DefaultStyledDocument.ElementSpec(redStyle,   DefaultStyledDocument.ElementSpec.ContentType, "AFAIK".toCharArray(), 0, 5);
          DefaultStyledDocument.ElementSpec esCell2 = new DefaultStyledDocument.ElementSpec(greenStyle, DefaultStyledDocument.ElementSpec.ContentType, "As far as I know".toCharArray(), 0, 16);
          DefaultStyledDocument.ElementSpec esCell3 = new DefaultStyledDocument.ElementSpec(redStyle,   DefaultStyledDocument.ElementSpec.ContentType, "Not to put too fine a point on it".toCharArray(), 0, 33);
          DefaultStyledDocument.ElementSpec esCell4 = new DefaultStyledDocument.ElementSpec(greenStyle, DefaultStyledDocument.ElementSpec.ContentType, "NTPTFPOI".toCharArray(), 0, 8);
          DefaultStyledDocument.ElementSpec ico = new DefaultStyledDocument.ElementSpec(icon, DefaultStyledDocument.ElementSpec.ContentType, " ".toCharArray(), 0, 1);
          DefaultStyledDocument.ElementSpec[] esArray = {
          esSectionStart,
            esTableStart,
              esRowStart,
                esCellStart,
                  esCell1,
                esCellEnd,
                esCellStart,
                  esCell2,
                esCellEnd,
              esRowEnd,
              esRowStart,
                esCellStart,
                  esCell3,
                esCellEnd,
                esCellStart,
                  esCell4,
                esCellEnd,
              esRowEnd,
            esTableEnd,
          esSectionEnd };
          com.inqwell.any.client.swing.StyledDocument doc = (com.inqwell.any.client.swing.StyledDocument)textPane.getDocument();
          try
            doc.insert(0, esArray);
          catch(Exception e) {e.printStackTrace();}Hope that helps!

  • JTable and MVC

    Hi,
    I am new to swing and have been going through JTable.
    1. TableModel that should house the data, But it also stores UI related Info like column and isCellEditable.
    2. The Table needs to be supplied with a Renderer to display items in the table, A renderer is a display element why is it tagged to Table.
    3. Similarly a model is a data element , why should it manage the editing portion.
    4. The Cell Editor is again tied to the Columns
    I am not seeing the MVC pattern here, Since one is tied to the other.
    Can someone explain how this confirms to MVC.
    or
    Jtable offers many flavours and is there another one better than using tablemodel and cell renderer.
    Regards,
    Shailesh

    shailesh_a wrote:
    1. TableModel that should house the data, But it also stores UI related Info like column and isCellEditable.
    ShaileshisCellEditable is not UI-related. It says if a part of you model is writable or not.

  • TableViewer and ProgressBar

    I know it is probably not the right place for this request, but I try ;-)
    I'm testing SWT/JFace and I would like to render a progress bar in a cell of a table using TableViewer class (and not only the Table class).
    Any idea?
    Thx

    You're right in that you're wrong to post here. Check out www.eclipse.org and look for the fora there.
    -Mike Schwager

  • Using NULL and NOT NULL in prompted filters

    Dear all,
    While trying to grap the concept of prompted filters in sap bo web intelligence, I had a question whether why we cannot use NULL and NOT NULL while creating a prompted filters in our report.

    HI,
    'Is Null' and 'Not Null' are the predefined functions in webi which only eliminate the null values or considering only null values.
    'Is Null' and 'Not Null' are itself predefined functions that why you are not getting  prompts.
    Null values are standard across the databases so this is defined  as a function in webi to specific eliminate the null values.
    If something is not standard then there is option in the webi to use different operator with static values or with prompts.
    More more information on Null see the Null wiki page.
    Null (SQL) - Wikipedia, the free encyclopedia
    Amit

  • How do I use Qt and OpenGL with Visual Studio

    Hi! I mainly want to program in C++ and I want to use Qt and OpenGL with Visual Studio.
    I am currently revising C++ and later on i am going to start reading Qt and OpenGL. I have a background of
    Embedded firmware design(C and Assembly).
    The Visual Studio Version I have is 2013 ultimate. How do I use Qt and OpenGL with Visual Studio?
    Thanks
    Alexandros

    Hi ClassicalGuitar,
    The forum supports VS setup and installation. And your issue is not about the forum. I will move the thread to off-topic forum. Thanks for your understanding.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • Use VBA and Excel to open Dreamweaver HTML (CS5), find and replace text, save and close

    I wish to use VBA and Excel to programmatically open numbered Dreamweaver HTML (CS5) and find and replace text in the code view of these files, save and close them.
    I have  5000 associations between Find: x0001 and Replace: y0001 in an Excel sheet.
    I have the VBA written but do not know how to open, close and save the code view of the ####.html files. Please ... and thank you...
    [email protected]

    This is actually the code view of file ####.html that I wish to find and replace programmatically where #### is a four digit number cataloguing each painting.... In 1995 I thought this was clever... maybe not so clever now :>)) Thank you for whatever you can do Rob!
    !####.jpg!
    h2. "Name####"
    Oils on acrylic foundation commercial canvas - . xx X xx (inches) Started
    Back of the Painting In Progress </p> </body> </html>
    Warmest regards,
    Phil the Forecaster, http://philtheforecaster.blogspot.ca/ and http://phils-market.blogspot.ca/

  • How do I use the time capsule to share itunes music between multiple apple devices? Also, is it possible to control the music on one device using another, and how do you set this up?

    How do I use the time capsule to share itunes music between multiple apple devices? Also, is it possible to control the music on one device using another, and how do you set this up?

    unless i'm missing something, i think you got mixed up, this is easy google for walk throughs
    i'm assuming this is the new 3tb tc AC or 'tower' shape, if so, its wifi will run circles around your at&t device
    unplug the at&t box for a minute and plug it back in
    factory reset your tc - unplug it, hold down reset and keep holding while you plug it back in - only release reset when amber light flashes in 10-20s
    connect the tc to your at&t box via eth in the wan port, wait 1 minute, open airport utility look in 'other wifi devices' to setup the tc
    create a new wifi network (give it a different name than your at&t one) and put the tc in bridge mode (it may do this automatically for you, but you should double check) under the 'network' tab
    login to your at&t router and disable wifi on it
    add new clients to the new wifi network, and point your Macs to the time machine for backups

  • TS3999 I had an icloud account setup in 2009 when I first got my family members each a mac. I let that account expire(we never used it) and I don't know how to get it off of my ical. It is not recognizing any of the information to reset the password?

    I had an icloud account in 2009. We set it up as a family plan because my family had just changed from PC to Mac. We never used it and let the plan expire in 2010. My ical will not sync with my new iphone because it is linked to the family plan account that no longer exist. Because I don't remember my password, I tried resetting it. It says the personal information I entered is incorrect, but I know the information is correct...It's my birthday it asks for! Does anyone know how to get that account off of my mac without the account existing?

    You were a MobileMe (not iCloud) subscriber in 2009 and this service has been terminated. However the login is an Apple ID and this never expires. What is your operating system? Do you have a MobileMe icon in System Preferences? - if so you should be able to sign out in it, but you may not have an iCloud icon to let you create an iCloud account, though you can do so if your iPhone has iOS 5 or above.
    If you are getting login requests or other irritations from your MobileMe account you can go to (user)/Library/Preferences/ByHost and delete all .plist files beginning with com.apple.DotMac or com.apple.idisk, then reboot.
    The minimum requirement for iCloud to let you sync your data is 10.7.5 though you can sync through iTunes (except with Mavericks).

  • Can I use classes and methods for a maintenance view events?

    Hello experts,
    Instead of perform/form, can I instead use classes and methods, etc for a given maintenance view event, lets say for example I want to use event '01' which is before saving records in the database. Help would be greatly appreciated. Thanks a lot guys!

    Hi viraylab,
    1. The architecture provided by maintenance view
       for using EVENTS and our own code inside it -
       It is provided using FORM/PERFORM
       concept only.
    2. At this stage,we cannot use classes.
    3. However, inside the FORM routine,
       we can write what ever we want.
       We can aswell use any abap code, including
       classes and methods.
      (But this classes and methods won't have any
       effect on the EVENT provided by maintenance view)
    regards,
    amit m.

  • Error while accessing a library using content and structure

    I have a library having document and folder inside it. When I open the library using content and structure I get an error with a correlation ID. When checked the the logs with Correlation ID got an error message "View 'All Document' does not exist."
    'All Document' is name of default view on the library.
    When I open the library from view all site content the library is being opened.
    Please help!!!

    Hello Victoria,
    Thanks for  the response.
    I have tried troubleshooting steps given by you. 
    Check if the issue occurs with other users. Use another user to access the library in Content and Structure and then compare the results. --
    I tried with different users but no luck
    Make sure that the user account with issue has permission to view the All Documents view of the library. --
    Yes, user Account have the permission
    Check if the issue occurs with other libraries in the Content and Structure. If not, I recommend to save the library as
    a template including contents and then create a new library based on this template. After that use the new library instead of the old library. --
    No other library have this problem. I cannot save the library as template including the contents as the it has many folders and  files. The current size of library is 786 MB
    Clear cache in the browser or use another browser to see if the issue still occurs. --
    tries but issue persists.
    Best regards,
    Ratnesh

Maybe you are looking for

  • Retrieving license codes...

    I recently purchased a new Intel Mac. I transferred all my data from my five year old eMac to my new iMac with little trouble. Most everything went fine, but I have hit a few small snags. Firstly my HP PSC1210 AIO printer will not work at all. It is

  • Subcontracting and 311 Q

    Dear All, For subcontracting scenerio for excisable material we are planing to use movement type 311 Q. as per sap help. in material master we need to specify some indicator so that at the time of GRN system consumes the quantity from project stock .

  • Issue with logic of in parameter of SP

    Hi, below is my SP... user who is running this SP has an option to enter value for P_Step or not. if no value is entered for P_Step then its defaulted to NULL and all steps should run. If the user specifies some value like 10 or 20 or 30 then the SP

  • Polling a JMS Queue

    Hi, I am new to ODI,my scenario is that I want to poll a JMS Queue, from ODI for messages, and once I receive the message I want to persist it in DB, I need help to make this work. Thanks, Rahul

  • Face time will not let me sign in with my new password

    face time will not let me sign in with my new password?