Advance Graph dvt:timeSelector

Hi All,
I was trying following sample example to create Time Selector graph but whenever I am running the Graph the "timeselector window" is not coming on my graph. While checking the warnings on JSPX page I found the message that "Setting the timeselector mode to explicit is not supported in ScreenReader mode".
Any help please?
http://www.oracle.com/technology/products/jdev/11/how-tos/dvt_how_tos/adf_dvt_graph_howto.html
My source code-
<dvt:graph id="graph11" value="#{bindings.Master1.graphModel}"
binding="#{backing_sampleGraph.graph11}"
graphType="LINE_VERT_ABS" stylePath="Comet"
imageFormat="FLASH"
timeSelectorListener="#{backing_sampleGraph.processTimeSelector}">
<dvt:timeSelector mode="EXPLICIT"
explicitStart="#{sampleGraph.startDate}"
explicitEnd="#{sampleGraph.endDate}"
borderColor="#313675" fillColor="#33FFFF"/>
<dvt:legendArea position="LAP_BOTTOM"/>
<dvt:seriesSet defaultMarkerType="MT_CURVE_LINE">
<dvt:series id="A0" color="#FDB026"/>
</dvt:seriesSet>
</dvt:graph>

Hi Katia,
Thank you for looking in to the issue. I have only one backing bean backing_SampleGraph with class name "SampleGraph". The code is as given below. I am using SRDEMO schema and I have added explicit order by in the the query and I think Dates are in regular intervals. I am sending you screen shot in email.
THANKS
Chetan
Backing Bean -
package oracle.samplegraph.view.backing;
import java.sql.SQLException;
import java.util.Date;
import javax.faces.event.AbortProcessingException;
import oracle.adf.view.faces.bi.component.graph.UIGraph;
import oracle.adf.view.faces.bi.event.TimeSelectorEvent;
import oracle.adf.view.rich.component.rich.RichDocument;
import oracle.adf.view.rich.component.rich.RichForm;
import oracle.adf.view.rich.component.rich.input.RichInputDate;
import oracle.adf.view.rich.component.rich.layout.RichPanelFormLayout;
import oracle.adf.view.rich.component.rich.nav.RichCommandButton;
import oracle.adf.view.rich.component.rich.output.RichMessages;
import oracle.binding.BindingContainer;
import oracle.jbo.uicli.binding.JUCtrlActionBinding;
import oracle.jbo.uicli.binding.JUCtrlAttrsBinding;
public class SampleGraph {
private RichForm form1;
private RichDocument document1;
private RichMessages messages1;
private UIGraph master;
private UIGraph pieGraph1;
private BindingContainer bindings;
private Date StartDate;
private Date EndDate;
private RichPanelFormLayout panelFormLayout1;
private RichInputDate inputDate1;
private RichInputDate inputDate2;
private RichCommandButton commandButton1;
public void setBindings(BindingContainer bindings) {
this.bindings = bindings;
public BindingContainer getBindings() {
return bindings;
public void setForm1(RichForm form1) {
this.form1 = form1;
public RichForm getForm1() {
return form1;
public void setDocument1(RichDocument document1) {
this.document1 = document1;
public RichDocument getDocument1() {
return document1;
public void setMessages1(RichMessages messages1) {
this.messages1 = messages1;
public RichMessages getMessages1() {
return messages1;
public void setMaster(UIGraph graph1) {
this.master = graph1;
public UIGraph getMaster() {
return master;
public void setPieGraph1(UIGraph pieGraph1) {
this.pieGraph1 = pieGraph1;
public UIGraph getPieGraph1() {
return pieGraph1;
public void processTimeSelector(TimeSelectorEvent event) throws AbortProcessingException {
Date sdate = new Date(event.getStartTime());
Date edate = new Date(event.getEndTime());
oracle.jbo.domain.Date startDate;
try {
startDate = new oracle.jbo.domain.Date(sdate);
JUCtrlAttrsBinding sd =
(JUCtrlAttrsBinding)bindings.get("start_date");
sd.setInputValue(startDate);
} catch (SQLException e) {
System.out.print(e.getMessage());
oracle.jbo.domain.Date endDate;
try {
endDate = new oracle.jbo.domain.Date(edate);
JUCtrlAttrsBinding ed = (JUCtrlAttrsBinding)bindings.get("end_date");
ed.setInputValue(endDate);
} catch (SQLException e) {
System.out.print(e.getMessage());
try {
JUCtrlActionBinding actionBinding =
(JUCtrlActionBinding)bindings.get("ExecuteWithParams1");
actionBinding.execute();
} catch (Exception e) {
System.out.println("Error executing the binding with new dates: " +
e);
public void setStartDate(Date StartDate) {
this.StartDate = StartDate;
public Date getStartDate() {
return StartDate;
public void setEndDate(Date EndDate) {
this.EndDate = EndDate;
public Date getEndDate() {
return EndDate;
public void setPanelFormLayout1(RichPanelFormLayout panelFormLayout1) {
this.panelFormLayout1 = panelFormLayout1;
public RichPanelFormLayout getPanelFormLayout1() {
return panelFormLayout1;
public void setInputDate1(RichInputDate inputDate1) {
this.inputDate1 = inputDate1;
public RichInputDate getInputDate1() {
return inputDate1;
public void setInputDate2(RichInputDate inputDate2) {
this.inputDate2 = inputDate2;
public RichInputDate getInputDate2() {
return inputDate2;
public void setCommandButton1(RichCommandButton commandButton1) {
this.commandButton1 = commandButton1;
public RichCommandButton getCommandButton1() {
return commandButton1;
Source File -
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces">
<jsp:directive.page contentType="text/html;charset=windows-1252"/>
<f:view>
<af:document binding="#{backing_SampleGraph.document1}" id="document1">
<af:messages binding="#{backing_SampleGraph.messages1}" id="messages1"/>
<af:form binding="#{backing_SampleGraph.form1}" id="form1">
<dvt:graph id="master" value="#{bindings.Master1.graphModel}"
binding="#{backing_SampleGraph.master}"
graphType="LINE_VERT_ABS" stylePath="Comet"
imageFormat="FLASH"
timeSelectorListener="#{SampleGraph.processTimeSelector}">
<dvt:seriesSet defaultMarkerType="MT_CURVE_LINE">
<dvt:series color="#FDB026"/>
</dvt:seriesSet>
<dvt:legendArea position="LAP_BOTTOM"/>
<dvt:timeSelector id="timeSelector1" mode="EXPLICIT"
explicitStart="#{backing_SampleGraph.startDate}"
explicitEnd="#{backing_SampleGraph.endDate}"
borderColor="#313675" fillColor="#33FFFFFF"/>
</dvt:graph>
<dvt:pieGraph id="pieGraph" imageFormat="FLASH" threeDEffect="true"
value="#{bindings.SRsByProduct1.graphModel}"
partialTriggers="master" style="Comet">
<dvt:seriesSet>
<dvt:series id="A0" pieSliceExplode="100"/>
</dvt:seriesSet>
<dvt:sliceLabel textType="LD_TEXT">
<dvt:numberFormat decimalDigit="0"/>
</dvt:sliceLabel>
<dvt:legendArea rendered="false"/>
</dvt:pieGraph>
<af:panelFormLayout binding="#{backing_SampleGraph.panelFormLayout1}"
id="panelFormLayout1">
<af:inputDate value="#{bindings['start_date'].inputValue}"
label="#{bindings['start_date'].hints.label}"
required="#{bindings['start_date'].hints.mandatory}"
shortDesc="#{bindings['start_date'].hints.tooltip}"
binding="#{backing_SampleGraph.inputDate1}"
id="inputDate1">
<f:validator binding="#{bindings['start_date'].validator}"/>
<af:convertDateTime pattern="#{bindings['start_date'].format}"/>
</af:inputDate>
<af:inputDate value="#{bindings['end_date'].inputValue}"
label="#{bindings['end_date'].hints.label}"
required="#{bindings['end_date'].hints.mandatory}"
shortDesc="#{bindings['end_date'].hints.tooltip}"
binding="#{backing_SampleGraph.inputDate2}"
id="inputDate2">
<f:validator binding="#{bindings['end_date'].validator}"/>
<af:convertDateTime pattern="#{bindings['end_date'].format}"/>
</af:inputDate>
<af:commandButton actionListener="#{bindings.ExecuteWithParams1.execute}"
text="ExecuteWithParams1"
disabled="#{!bindings.ExecuteWithParams1.enabled}"
binding="#{backing_SampleGraph.commandButton1}"
id="commandButton1"/>
</af:panelFormLayout>
</af:form>
</af:document>
</f:view>
<!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_SampleGraph-->
</jsp:root>

Similar Messages

  • Jdev 11g: Advanced graph no longer supported?

    Hi,
    I can't find and select advanced graph type from ADF Data Visualization. Is this type not supported for production release (TP's had this type and even release notes suggest to use dvt:graph).
    regards
    Peter

    Hi all,
    The How To is a little out of date, sorry about that. I will publish an updated version soon.
    The recommended way is to create a line graph, and then add a time selector tag (like Peter pointed out).
    However, since in the dvt:lineGraph there is no attribute for the time selector listener, you need to add the listener in the backing bean.
    Here are the code snippets:
    In jspx:
    <dvt:lineGraph id="master"
    value="#{bindings.master1Graph.graphModel}"
    style="Comet"
    imageFormat="FLASH" imageWidth="400"
    binding="#{sampleGraph.richTimeSelectorMasterGraph}"
    animationOnDisplay="AUTO"
    imageHeight="250">
    <dvt:legendArea rendered="false"/>
    <dvt:timeSelector explicitStart="#{sampleGraph.startDate}" explicitEnd="#{sampleGraph.endDate}" fillColor="#33FFFFFF" borderColor="#313675" mode="EXPLICIT" />
    <dvt:seriesSet defaultMarkerType="MT_CURVE_LINE">
    <dvt:series id="0" color="#FDB026"/>
    </dvt:seriesSet>
    </dvt:lineGraph>
    In the backing bean:
    public UIGraph getRichTimeSelectorMasterGraph()
    if (m_richTimeSelectorMasterGraph == null)
    m_richTimeSelectorMasterGraph = new UIGraph();
    m_richTimeSelectorMasterGraph.addTimeSelectorListener(this);
    return m_richTimeSelectorMasterGraph;
    public void setRichTimeSelectorMasterGraph(UIGraph graph)
    m_richTimeSelectorMasterGraph = graph;
    Hope this helps
    Katia
    Edited by: Katarina Obradovic-Sarkic on Oct 29, 2008 10:39 AM

  • Advanced Graphs option seems missing in JDeveloper 11G

    I am trying to do an exercise on "Data Visualization and Graphs in JSF". (http://www.oracle.com/technology/products/jdev/viewlets/11/)
    I have created a query on a table and am trying build a graph based on this query. When I try to build a graph in JDeveloper 11.1.1.2.0 - build 5536; I do not get the 'Advanced graphs' option under 'Data Visualization - Graphs components.
    I am not sure whether there is an update or jar file missing. I will really appreciate if somebody could point me to how to enable this option.
    Thanks,
    Daar.

    I wanted to share the following answer with those who might be looking for the same. I got this from one of the gurus in this field.
    "The dvt:graph tab is not shown as part of the component palette - but you can manually use it by adding it in your code editor.
    See documentation here:
    http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e12418/tagdoc/dvt_graph.html"

  • DVT: timeSelector

    Hi, would like to ask if it's possible to implement a time selector in a graph (line graph or bar graph) using the tabular data?
    I'm having problem displaying the timeSelector for some reason...
    managedBean:
      public List getLineGraphTabularData()
        ArrayList tabularData = new ArrayList();
        SimpleDateFormat sourceDateFormat =
          new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss", getLocale());
        try
          Object[] entry1 =
          { sourceDateFormat.parse("2013-01-01-00.00.00"), "Jan", 1 };
          tabularData.add(entry1);
          Object[] entry2 =
          { sourceDateFormat.parse("2013-02-01-00.00.00"), "", 1 };
          tabularData.add(entry2);
          Object[] entry3 =
          { sourceDateFormat.parse("2013-03-01-00.00.00"), "", 1 };
          tabularData.add(entry3);
          Object[] entry4 =
          { sourceDateFormat.parse("2013-04-01-00.00.00"), "", 1 };
          tabularData.add(entry4);
          Object[] entry5 =
          { sourceDateFormat.parse("2013-05-01-00.00.00"), "", 1 };
          tabularData.add(entry5);
          Object[] entry6 =
          { sourceDateFormat.parse("2013-06-01-00.00.00"), "", 1 };
          tabularData.add(entry6);
          Object[] entry7 =
          { sourceDateFormat.parse("2013-07-01-00.00.00"), "", 1 };
          tabularData.add(entry7);
          Object[] entry8 =
          { sourceDateFormat.parse("2013-08-01-00.00.00"), "", 1 };
          tabularData.add(entry8);
          Object[] entry9 =
          { sourceDateFormat.parse("2013-09-01-00.00.00"), "", 1 };
          tabularData.add(entry9);
          Object[] entry10 =
          { sourceDateFormat.parse("2013-10-01-00.00.00"), "", 1 };
          tabularData.add(entry10);
          Object[] entry11 =
          { sourceDateFormat.parse("2013-11-01-00.00.00"), "", 1 };
          tabularData.add(entry11);
          Object[] entry12 =
          { sourceDateFormat.parse("2013-12-01-00.00.00"), "", 1 };
          tabularData.add(entry12);
        catch (ParseException e)
        return tabularData;
      }jsff page
                          <dvt:barGraph id="barGraph1" subType="LINE_VERT_ABS"
                                         shortDesc="test"
                                         tabularData="#{pageFlowScope.myManagedBean.lineGraphTabularData}"
                                         timeRangeMode="TRM_EXPLICIT" timeAxisType="TAT_DEFAULT" timeAxisInterval="CTAI_MONTH"
                                         timeRangeStart="#{pageFlowScope.myManagedBean.timeAxisStartDate}"
                                         timeRangeEnd="#{pageFlowScope.myManagedBean.timeAxisEndDate}">
                            <dvt:timeSelector explicitStart="#{pageFlowScope.myManagedBean.timeAxisStartDate}"
                                              explicitEnd="#{pageFlowScope.myManagedBean.timeAxisEndDate}"
                                              mode="EXPLICIT" fillColor="#849dff"
                                              borderColor="#1200ff"/>
                          </dvt:barGraph>any thoughts why the following code was not working?
    Thanks.

    After two days of testing and debugging I have found out several things:
    <li> Setting the dates works until the manual change with the mouse in the browser.
    <li> After the manual change, setting the dates does not work. It does not matter if you set it by bound bean attributes or in the TimeSelector object, every time the values are overwritten by the values from the manual change, so tehre is no change visible.
    <li> There has to be some mechanism, where the values from the manual change are stored and reset to the timeselector object.
    <li> There is a method called handleTimeSelectorEvent in class UIGraph, which seems to be a workaround/solution for my problem.
    I have tested the method handleTimeSelectorEvent and set the values with this method additionaly:
    public void cbButton1( ActionEvent actionEvent ) {
        // 2011-09-01
        Date startDate = new Date( 1314859410000L );
        // 2011-09-20
        Date endDate = new Date( 1316501010000L );
        lineGraph.handleTimeSelectorEvent( startDate.getTime( ), endDate.getTime( ) );
        TimeSelector timeSelector = lineGraph.getTimeSelector( );
        timeSelector.setExplicitStart( startDate );
        timeSelector.setExplicitEnd( endDate );
    }No it works as expected, but there is one issue which sounds not that good. There is a remark in the javadoc documentation of the method:
    >
    For internal use only. Application developers should not use this
    Handle a time selector event.
    >
    Is there some ACE expert who can tell if this is a good solution/workaround for the problem or shouldn't this method be called at all?
    I know, the statement is there and clear, but is there an alternative workaround?
    Dominik

  • Advance Graph Algorithm

    Hello guys,
    I am working now on a TSP(traveling salesman problem), I am facing a very challenging problem in fact.
    The Main Problem: I need to find all the possible routes from A to B, I believed that there is no algorithm to provide such thing after a deadly search, so If anyone can help with just a link or a similar algorithm that would be great.
    And if you are interested to know why I need such algorithm;
    1 - I need to have the TSP works on only a part of a big graph, like a big city and I work the TSP only on 4 places.
    2 - So I need to make a small Graph object for the only 4 places, and pass it to TSP.
    3 - I need to make sure that all edges of this graph are set to the shortest paths between every pair of places. But if I found out that this shortest path go through a place which is in the TSP problem, then I have to find another(thats why i need the all routes algorithm).
    4 - (which is the main problem) this short path can't pass through any place which is within the TSP problem(coz TSP go through every place only once).
    (ex if the TSP is interested in places A, B, C, D and the shortest path from A to B passes through D, I can't pass this small graph object to TSP until I find another path connecting A to B and doesn't pass through C nor D -if there is no such path then of course I have to set it with infinity-).
    I hope one of you guys worked on this problem before,
    Thanks & Regrads,
    ES_Coders

    Thanks all,
    I have already solved the problem. I will declare it again here.
    TSP: is to find a cycle that goes through every node only once and goes back to the start point.
    MySystem: consists of nodes from A, B, C, ...., Z.
    Main Idea: user chooses a number of nodes to find their TSP.
    Ex: User wants to find TSP around A, B, C only.
    Problem: if the shortest path (A to B ) go through another node N, and also shortest path(B, C)go through this very same node N. Then the cycle goes through the node N twice which makes the TSP fail.
    Solution:
    1- Use special type of Floyed(or Dijkstra) which finds the shortest paths between every pair of nodes (n1, n2) (n1, n3) ... . But the special part is that this Floyed method takes an array of the nodes considered by TSP lets say{t1, t2, ...}. And it finds the shortest path between (n1, n2) except that this shortest path doesn't go through any of {t1, t2, t3, ...}.
    2- Now when I apply TSP lets say for {A, B, C} I am sure that shortest path from (A to B) doesn't go through node C, but It can go through some other node n which doesn't belong to {A, B, C} -some other node in the system-
    3- After I get my answer from TSP, if i found that this TSP doesn't pass through any place more than once, this is cool, I did it. But if it does pass through the node n more than once. (Here is the trick) I apply TSP for {A, B, C, n} by this way I ll start again whit the special Floyed making sure that every shortest path doesn't pass through n. And when I go for the real TSP the node n won't be passed through twice.
    I hope I was able to declare the problem and the solution,
    Thx a lot guys,
    ES_Coders

  • Error when displaying 2 DVT Graph in same page

    Hi,
    I am using jdev 11g.
    I have a sample page with 2 graph on it. When the page is displayed only one graph is shown.
    <af:form>
    <dvt:graph id="p102" binding="#{TestManagerBean.myGraph}"
    graphType="#{TestManagerBean.graphType}" threeDEffect="true"
    shortDesc="graph pie" contentDelivery="immediate"
    annotationsVisibility="SHOW_ALL" animationIndicators="ALL"
    animationOnDataChange="AUTO" animationOnDisplay="AUTO"
    markerTooltipType="MTT_VALUES"
    noDataErrorText="No Data Found"
    inlineStyle="width: 400px;height: 300px;">
    </dvt:graph>
    <dvt:graph id="p1022" binding="#{TestManagerBean.myGraph}"
    graphType="#{TestManagerBean.graphType}" threeDEffect="true"
    shortDesc="graph pie" contentDelivery="immediate"
    annotationsVisibility="SHOW_ALL" animationIndicators="ALL"
    animationOnDataChange="AUTO" animationOnDisplay="AUTO"
    markerTooltipType="MTT_VALUES"
    noDataErrorText="No Data Found"
    inlineStyle="width: 400px;height: 300px;">
    </dvt:graph>
    </af:form>
    Kindly advice
    Emile BITAR

    Hi Emile BITAR,
    binding="#{TestManagerBean.myGraph}"Have you tried creating separate bindings for each of the graph?
    Regards,
    Chan Kelwin

  • Marker shape not showing up in DVT line graph

    Hi,
    I am facing an issue where the Marker Shape is not getting displayed in DVT Line graph. In the graph there is only one series, in which diamond markers should appear at the data points.
    I am using Jdev 11.1.1.7.0.
    Below is the expected result and the result which i am actually getting. Although the data set is different, the diamonds which we see in the first graph are not appearing in the second one(my output).
    My code snippet for the line graph is as below:
    <dvt:lineGraph id="lineGraph1"
                           value="#{bindings.VarianceGraphVO1.graphModel}"
                           subType="LINE_VERT_ABS" shortDesc="Variance Graph">
              <dvt:graphTitle text="Schedule Variance"/>
              <dvt:y1Title id="y1Title1" text="Variance % Days"/>
              <dvt:o1Title id="o1Title1" text="Cemli"/>
              <dvt:background>
                <dvt:specialEffects/>
              </dvt:background>
              <dvt:graphPlotArea/>
              <dvt:seriesSet defaultLineWidth="3">
                <dvt:series markerShape="MS_DIAMOND" markerType="MT_MARKER"
                            lineWidth="2"/>
                <dvt:series/>
              </dvt:seriesSet>
              <dvt:o1Axis rendered="false"/>
              <dvt:y1Axis/>
              <dvt:legendArea automaticPlacement="AP_NEVER"/>
            </dvt:lineGraph>
    Even though the marker shape property is mentioned it is some how not reflecting in my result. Even other types of marker shapes like square, circle, up/down arrow are not working.
    Request you to help me fix this issue.
    Thanks a lot.
    Regards,
    Tejas

    Try to set seriesSet  defaultMarkerShape="MS_CIRCLE" and markerDisplayed="true" like:
    <dvt:seriesSet defaultMarkerShape="MS_CIRCLE" markerDisplayed="true">
           <dvt:series/>
    </dvt:seriesSet>

  • Adf Dvt bar graph zoom/scrolling to given zoom level

    Hi,
    I am developing a dashboard, where I need a functionality with bar graph, that will zoom bar graph at particular zoom level while loading.
    Please help me, How can I pass zoom level to bar graph to zoom in at loading time?
    Thanks,
    Jassi

    Thanks Vlad for response,
    <dvt:barGraph id="barGraph" subType="BAR_VERT_STACK" shortDesc="Query Result Graph"
    tabularData="#{demo.graphTabularDate}" seriesRolloverBehavior="RB_HIGHLIGHT"
    animationOnDisplay="auto" animationOnDataChange="alphaFade"
    dynamicResize="DYNAMIC_SIZE" imageFormat="AUTO" visualEffects="AUTO"
    binding="#{demo.graph}">
    <dvt:o1Axis scrolling="on" /> <!-- *** Here I have implemented zoom to but here I want, when I have lots of bar in graph then my graph loads with some initial zoom level or with max zoom***-->
    <dvt:legendArea scrolling="asNeeded" automaticPlacement="AP_NEVER" position="LAP_RIGHT" />
    <dvt:o1TickLabel tickLabelSkipMode="TLS_AUTOMATIC"/>
    </dvt:barGraph>

  • How to get value of x-axis in dvt:graph ?

    Hi,
    How to get the corresponding value of the x-axis (timeaxis) when user clicks on a series in a graph (dvt:graph) ?
    Found following for the y-value but nothing for x-value:
    DataComponentHandle dhandle = (DataComponentHandle)handle;
             // Get the value displayed in the series
             System.out.println("Value: " + dhandle.getValue(DataComponentHandle.UNFORMATTED_VALUE));regards
    Peter

    Hi Peter,
    What graph type do you have?
    Is your time axis regular or mixed frequency?
    What do you get when you use the following code:
    public void processClick(ClickEvent event)
    ComponentHandle handle = event.getComponentHandle();
    if (handle instanceof DataComponentHandle)
    DataComponentHandle dhandle = (DataComponentHandle)handle;
    // Get the value displayed in the series
    System.out.println("Value: " + dhandle.getValue(DataComponentHandle.UNFORMATTED_VALUE));
    // Get the series attributes
    Attributes [] seriesInfo = dhandle.getSeriesAttributes();
    if(seriesInfo != null)
    for(Attributes attrs: seriesInfo)
    System.out.println("Series value: " + attrs.getValue(Attributes.LABEL_VALUE));
    System.out.println("Series name: " + attrs.getValue(Attributes.LABEL_ATTRIBUTE));
    System.out.println("Series value id: " + attrs.getValue(Attributes.ID_VALUE));
    System.out.println("Series name id: " + attrs.getValue(Attributes.ID_ATTRIBUTE));
    // Get the group attributes
    Attributes [] groupInfo = dhandle.getGroupAttributes();
    if(groupInfo != null)
    for(Attributes attrs: groupInfo)
    System.out.println("Group value: " + attrs.getValue(Attributes.LABEL_VALUE));
    System.out.println("Group name: " + attrs.getValue(Attributes.LABEL_ATTRIBUTE));
    Hope this helps
    Katia

  • Jdev 11g: several attributes are not supported by "simple" graph types

    Hi,
    My question is especially for Jdev development team. I want to discuss this issues first in this forum before I open a SR at Oracle Support.
    Several attributes from dvt:graph are not supported in dvt:areagraph, dvt:linegraph or dvt:bargraph.
    - TimeSelectorListener
    - TimeRangeMode
    - TimeAxisType --> supported for dvt:linegraph but not for dvt:areagraph. Why?
    - TimeAxisListener
    - TimeZone
    - ExplicitTimeRangeStart
    - ExplicitTimeRangeEnd
    - ContinuousTimeAxisInterval
    This means if I want (need) to use some of this attributes I need to use dvt:graph (advanced graph).
    But here is the next problem:
    This type of graph can't be selected from component palette or graph create wizard.
    It's still possible to "convert" e.g. a dvt:linegraph to dvt:graph by editing the source code of jspx but in my opinion this should not be the normal way!
    I also didn't get a clear answere if dvt:graph is desupported or will be desupported in the next release(s)
    (see my previous post about advanced graph: Jdev 11g: Advanced graph no longer supported?
    Conclusio:
    ======
    If the attributes I mention above are still supported and needed (also in further releases) than they either need to be supported by the relevant simple graph tags or dvt:graph must be selectable from component palette.
    If dvt:graph is planned to be de-supported in further releases than this should be made public to avoid development of applications with non-supported components.
    regards
    Peter

    Peter,
    you should have followed up on the thread you reference. First of all, Katia gave you the answer of how to get the listener working
    "The recommended way is to create a line graph, and then add a time selector tag (like Peter pointed out).
    However, since in the dvt:lineGraph there is no attribute for the time selector listener, you need to add the listener in the backing bean.
    Here are the code snippets:
    In jspx:
    <dvt:lineGraph id="master"
    value="#{bindings.master1Graph.graphModel}"
    style="Comet"
    imageFormat="FLASH" imageWidth="400"
    binding="#{sampleGraph.richTimeSelectorMasterGraph}"
    animationOnDisplay="AUTO"
    imageHeight="250">
    <dvt:legendArea rendered="false"/>
    <dvt:timeSelector explicitStart="#{sampleGraph.startDate}" explicitEnd="#{sampleGraph.endDate}" fillColor="#33FFFFFF" borderColor="#313675" mode="EXPLICIT" />
    <dvt:seriesSet defaultMarkerType="MT_CURVE_LINE">
    <dvt:series id="0" color="#FDB026"/>
    </dvt:seriesSet>
    </dvt:lineGraph>
    In the backing bean:
    public UIGraph getRichTimeSelectorMasterGraph()
    if (m_richTimeSelectorMasterGraph == null)
    m_richTimeSelectorMasterGraph = new UIGraph();
    m_richTimeSelectorMasterGraph.addTimeSelectorListener(this);
    return m_richTimeSelectorMasterGraph;
    public void setRichTimeSelectorMasterGraph(UIGraph graph)
    m_richTimeSelectorMasterGraph = graph;
    Second, you got Katia's attention already and this is as much developer contact you can get on this forum. Katia ia the product manager for DVT
    Frank

  • Error when rendering a page having a dvt:lineGraph

    I have a page containing a line graph with the following structure:
    <dvt:lineGraph id="trndgrp"
    tabularData="#{pageFlowScope.myBean.trendChartData}"
    dynamicResize="DYNAMIC_SIZE" imageFormat="HTML5" inlineStyle="border-width:0px;"
    threeDEffect="false"
    timeAxisType="TAT_IRREGULAR"
    timeRangeMode="TRM_EXPLICIT"
    timeAxisInterval="CTAI_MONTH"
    markerTooltipType="MTT_VALUES_TEXT">
    <dvt:timeAxisDateFormat quarterFormat="QUARTER_SHORT" yearFormat="YEAR_SHORT_WITH_APOSTROPHE" dayFormat="DAY_OF_MONTH" monthFormat="MONTH_SHORT"/>
    <dvt:o1Axis scrolling="on"/>
    <dvt:timeSelector mode="EXPLICIT"/>
    <dvt:y1Title text="#{pageFlowScope.myBean.currentDrillDown.uiName}"/>
    <dvt:seriesSet seriesMap="#{pageFlowScope.myBean.trendChartSeriesMap}"/>
    <dvt:legendArea rendered="false"/>
    <dvt:o1Title id="o1Title1"
    rendered="false"/>
    <dvt:y1TickLabel>
    <af:convertNumber integerOnly="true" maxFractionDigits="0"/>
    </dvt:y1TickLabel>
    </dvt:lineGraph>
    At runtime I get the following error:
    Caused by: oracle.jsp.parse.JspParseException:
    ....myBean.jsff: Line # 206, <dvt:lineGraph dynamicResize="DYNAMIC_SIZE" id="trndgrp" imageFormat="HTML5" inlineStyle="border-width:0px;" markerTooltipType="MTT_VALUES_TEXT" private_x1axismaxautoexist="false" private_x1axisminautoexist="false" tabularData="#{pageFlowScope.myBean.trendChartData}" threeDEffect="false" timeAxisInterval="CTAI_MONTH" timeAxisType="TAT_IRREGULAR" timeRangeMode="0">
    Error: "private_x1axismaxautoexist" is not a valid attribute name.
    at oracle.jsp.parse.OpenJspTagHandler.processAttributeValue(OpenJspTagHandler.java:378)
    at oracle.jsp.parse.JspParseTag.parseXMLSrc(JspParseTag.java:1565)
    at oracle.jsp.parse.JspParseTag.parse(JspParseTag.java:1610)
    at oracle.jsp.parse.OpenJspTagHandler.parse(OpenJspTagHandler.java:846)
    at oracle.jsp.parse.JspParseTag.genXMLSrcTag(JspParseTag.java:923)
    I use ADF 11.1.1.7.
    Any ideas on what can cause this error?

    Most probably you are using the wrong Jdev and keep in mind that 10G versions are only for R12.
    Check the metalink Note 416708.1 - How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Conditionally formatting a graph in ADF

    Hi,
    We've developped an ADF application in which tasks are assigned to users. Each task has a due date and depending on the proximity of this due date the color of the task changes from green over orange to red. Now, what we are trying to do is showing the number of tasks in a chart (preferrably a pie chart) grouped by color. And of course, the colors of the slices/bars need to match the color of the task (so the number of green tasks will be a green slice, ...).
    We've tried to add the following seriesSet to the graph
    <dvt:seriesSet>
    <dvt:series color="#63a500" index="1"/> <!-- green -->
    <dvt:series color="#ff8400" index="2"/> <!-- orange -->
    <dvt:series color="#e70000" index="3"/> <!-- red -->
    </dvt:seriesSet>
    and this works fine untill not all colors are present. For example, if there would be no orange tasks, the red tasks become the second series and will be shown in orange.
    A possible solution would be to use the styleRuleBundle attribute of the <dvt:graph> tag but it seems like we can only add rules that compare to the values (= number of tasks) and not to the group/slice name (= color of the task).
    // Set color to YELLOW if value < 5
    rule = new DiscriminatorRule();
    rule.setDiscriminator(new NumberValueDiscriminator(5.0, ValueDiscriminator.LT));
    gs = new GraphStyle();
    gs.setFillColor(Color.yellow);
    rule.setFixedMergeable(gs);
    bundle.addRule(rule);
    Any ideas of how we can add rules that compare the group/slice name with a specified string ? We have tried the following but it doesn't seem to work:
    // Set color to GREEN if value is 'G'
    rule = new DiscriminatorRule();
    rule.setDiscriminator(new StringValueDiscriminator("G", StringValueDiscriminator.EQ));
    gs = new GraphStyle();
    gs.setFillColor(Color.GREEN);
    rule.setFixedMergeable(gs);
    bundle.addRule(rule);
    Thanks in advance for any help!

    ok, we've managed to determine the color of the bars in a bar chart using a QDRDiscriminator like this:
    rule = new DiscriminatorRule();
    colorQDR = new QDR("DataLayer");
    colorQDR.addDimMemberPair("Processcolor", new QDRMember(QDRMember.FIXED, "G"));
    rule.setDiscriminator(new QDRDiscriminator(colorQDR, QDRDiscriminator.SUPERSET));
    gs = new GraphStyle();
    gs.setFillColor(new Color(99, 165, 0));
    rule.setFixedMergeable(gs);
    bundle.addRule(rule);
    Too bad you loose all fancy gradients when using this technique. Doesn't work on a pie chart either :-( , although it does work on the legend of the pie chart :-S
    Other ideas or improvements are still welcome.

  • Line graph, How do graph month only on Horizontal axis?

    I'm trying to graph year trends by month on the horizontal axis. However, it keeps breaking up the months by adding the year, so I have three separate line trends. How do I fix this?

    Hi,
    You should move to the production version of JDeveloper 11g that was just released:
    http://www.oracle.com/technology/products/jdev/index.html
    However I have a answers for your questions:
    1. Setting time tick labels to hours: This should work by setting continuousTimeAxisInterval="CTAI_HOUR" on the advanced graph tag.
    Here's the tagdoc for that attribute.
    continuousTimeAxisInterval      
    Specifies the interval along a continuous time axis only if you want to override the value that the graph calculates automatically. Valid values are as follows:
    * CTAI_AUTOMATIC - (Default) Graph calculates the interval automatically.
    * CTAI_YEAR - Sets the interval to years.
    * CTAI_MONTH - Sets the interval to months.
    * CTAI_DAY - Sets the interval to days.
    * CTAI_HOUR - Sets the interval to hours.
    * CTAI_MINUTE - Sets the interval to minutes.
    * CTAI_SECOND - Sets the interval to seconds.
    2. Vertical gridlines can be set by using the o1Axis tag and setting the tickStyle. This should change all o1Axis ticks to gridlines. For different lineStyles, you can also use the lineStyle attribute.
    <dvt:graph>
    <dvt:o1MajorTick tickStyle="GS_GRID"/>
    </dvt:graph>
    Hope this helps
    Katia

  • Graph pagination error

    Hi,
    jdev 11.1.1.5
    I am using dvt:BarGraph component to display some information. I want to have pagination and I do
    1. Drag the bar graph onto a page
    2. On the PageDef file, change the RangeSize property to 5 (in your case)
    3. From the DataControl panel, drag and drop the NextSet and PreviousSet operations of the View Object
    4.Configure the af:graph PartialTriggers property to point to the two buttons
    5. Ensure the buttons have their PartialSubmit property set to "true"
    but after I click the next set button graph has post back but data not change.
    It would be great if any of you can suggest me the best way to do this.
    Thanks in advance.

    hi my bar:graph:
    <dvt:barGraph id="custCountDupEcoBargraph"
    value="#{bindings.dimCustCountByDuplicateEcoCodeROBar.graphModel}"
    subType="BAR_VERT_CLUST"
    dynamicResize="DYNAMIC_SIZE"
    threeDEffect="true"
    hideAndShowBehavior="withRescale"
    animationOnDisplay="zoom"
    animationOnDataChange="zoom"
    seriesRolloverBehavior="RB_HIGHLIGHT"
    flashDefaultFontLoading="FLASH_DEFAULT_FONT_LOADING_NONE"
    rendered="#{viewScope.ActivityInAllTableViewBean.graphType == 'BarGraph' ? true : false}"
    drillingEnabled="false"
    styleClass="AFStretchWidth"
    emptyText="#{viewcontrollerBundle.graphEmptyDataLabel}"
    clickListener="#{bindings.dimCustCountByDuplicateEcoCodeROBar.graphModel.processClick}"
    clickAction="#{ActivityInAllTableBean.dimCustCountByDupEcoCodeGraphClickAction}"
    partialTriggers="::nextSetb1 ::previosSettb2">
    <dvt:background>
    <dvt:specialEffects/>
    </dvt:background>
    <dvt:graphPlotArea/>
    <dvt:seriesSet>
    <dvt:series/>
    </dvt:seriesSet>
    <dvt:o1Axis scrolling="asNeeded"/>
    <dvt:y1Axis scrolling="asNeeded"/>
    <dvt:legendArea automaticPlacement="AP_NEVER"/>
    </dvt:barGraph>

  • Line Graph repeats the starting data point at the end also

    Hi,
    We have a Line Graph as below. This graph is used to show the Salary changes of a person, over time.
    But this graph shows an additional non existing data point. Basically it shows the starting data point once again at the end of the other data points.
    The model VO for this graph, does not contain this additional data point record. But the graph repeats the starting data point at the end also.
    In the screen-shot you can see that, the graph has three data points. But the table has only two. The first data point in the graph is repeated as the last data point.
    Is this a Bug..?
    Or an issue with the usage of the DVT tags?
    The code is given below.
    Please advice.
    12 <dvt:graph id="lineGraph1" value="#{bindings.SalaryHistory.graphModel}"
    13 graphType="LINE_VERT_ABS"
    14 shortDesc="#{HcmEmploymentTopGenBundle}"
    15 markerDisplayed="true"
    16 continuousTimeAxisInterval="CTAI_DAY"
    17 contentDelivery="immediate" animationOnDisplay="AUTO"
    18 imageFormat="FLASH" stylePath="April"
    19 timeSelectorListener="#{backingBeanScope.AssignmentChangesAndSalaryBean.changeTime}"
    20 timeAxisType="TAT_MIXED_FREQUENCY" dynamicResize="DYNAMIC_SIZE"
    21 inlineStyle="height:40em;"
    22 binding="#{backingBeanScope.AssignmentChangesAndSalaryBean.asgSalaryGraph}">
    23 <dvt:background>
    24 <dvt:specialEffects/>
    25 </dvt:background>
    26 <dvt:graphPlotArea/>
    27 <dvt:seriesSet>
    28 <dvt:series/>
    29 </dvt:seriesSet>
    30
    31 <dvt:o1Axis scrolling="asNeeded"/>
    32 <dvt:y1Axis/>
    33 <!-- <dvt:legendArea automaticPlacement="AP_NEVER" rendered="false"/>-->
    34 <!-- <dvt:timeSelector mode="EXPLICIT"
    35 explicitStart="#{backingBeanScope.AssignmentChangesAndSalaryBean.timeSelectorStartDate}"
    36 explicitEnd="#{backingBeanScope.AssignmentChangesAndSalaryBean.timeSelectorEndDate}"
    37 id="ts34">
    38 <dvt:specialEffects>
    39 <dvt:gradientStopStyle/>
    40 </dvt:specialEffects>
    41 </dvt:timeSelector>-->
    42 <dvt:o1MajorTick/>
    43 <dvt:o1TickLabel/>
    44 <dvt:o1Title id="o1Title1">
    45 <dvt:graphFont id="graphFont1"/>
    46 </dvt:o1Title>
    47
    48 <dvt:attributeFormat id="af1" name="DateFrom">
    49 <af:convertDateTime pattern="#{applCorePrefs.dateFormatPattern}" />
    50 </dvt:attributeFormat>
    51
    52 <dvt:markerText>
    53 <dvt:y1Format>
    54 <af:convertNumber pattern="#{applCorePrefs.numberFormatPattern}"/>
    55 </dvt:y1Format>
    56 </dvt:markerText>
    57
    58
    59 </dvt:graph>

    If I understand your question, this from the Pages online help may give the answer:
    To mark line, area, and scatter charts with data point symbols:
    Select the entire chart. You can also select the chart series (the line or area shape) that you want to mark with data point symbols.
    Click Inspector in the toolbar, and then click the Chart Inspector button.
    Click Series (except for scatter charts).
    Choose a symbol from the Data Point Symbol pop-up menu.
    Choose one of the following options from the Symbol Fill pop-up menu:
    To fill the symbol with the same color as its outline, choose Use Stroke Color.
    To fill the symbol with a solid color, choose Color Fill, click the Fill color well, and pick a color.
    To fill the symbol with a gradient, choose Gradient Fill and use the gradient controls to set the colors and change the angle of the gradient.
    To fill the symbol with an image, choose Image Fill and select the image you want. You can also resize the image by choosing an option from the pop-up menu above the Choose button.
    To fill the symbol with a tinted image, choose Tinted Image Fill and select the image you want. Click the color well to the right of the Choose button to change the tint color. You can also resize the image by choosing an option from the pop-up menu above the Choose button.

Maybe you are looking for