Spry:repeat dataset in array

I have a need to pass an indexed dataset to the 'spry:repeat' looping construct.  i.e.  if i have an array of datasets dsSource[0].. dsSource[n], stored in a standard JavaScript array, and I create an HTML construct such as:
<div class="TabbedPanelsContent attrList" spry:region="dsSource[0]">
  <table class="catTable">
    <tr>
      <th>Id</th>
      <th>Category</th>
    </tr>
    <tr spry:repeat="dsSource[0]">
      <td>
         {id}
      </td>
      <td>
         {category}
          </td>
    </tr>
  </table>
</div>
This does not appear to be parsed correctly by Spry.  I get a 'Failed to retrieve data set (dsSource[0]) for spry:repeat' message.  How do I get Spry to use a dataset from an array, here?

I got help from V1 Fusion on something like this today. Try
creating a div with the dsPhoto region then have a div with the
spry:repeat of the dsPhoto then inside that have a span that uses
the spry:if to call the function and check if something is
returned.
Something like this:
&lt;html&gt;
&lt;head&gt;
&lt;script language=&quot;JavaScript&quot;
type=&quot;text/javascript&quot;
src=&quot;includes/xpath.js&quot;&gt;&lt;/script&gt;
&lt;script language=&quot;JavaScript&quot;
type=&quot;text/javascript&quot;
src=&quot;includes/SpryData.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;
http://slideshow.triptracker.net/slide.js&quot;&gt;&lt;/script&gt;
&lt;script language=&quot;JavaScript&quot;
type=&quot;text/javascript&quot;&gt;
&lt;!--
dsPhoto = new
Spry.Data.XMLDataSet(&quot;photos.xml&quot;,&quot;gallery/photo&quot;);
var viewer = new PhotoViewer();
//--&gt;
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div spry:region=&quot;dsPhoto&quot;&gt;
&lt;div spry:repeat=&quot;dsPhoto&quot;&gt;
&lt;span spry:if=&quot;viewer.add('/photos/{path}')
!= 0&quot;&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;a
href=&quot;javascript:void(viewer.show(0))&quot;&gt;Slideshow&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;

Similar Messages

  • Problem with Spry:Repeat and Slide Effect on IE6

    I run the website for my kids' hockey association and I'm not
    a web programmer. I am trying to display events in a Spry region
    using spry:repeat. The data is coming from a Google Calendar . I
    display the event date and title on the main page. I have the
    onclick set to call a javascript function that exposes the details
    using the spry slide effect. It works ok except in IE6.
    The following creates my dataset from a method call to a
    Coldfusion component that returns the XML I need:
    <script type="text/javascript">
    var ds1 = new Spry.Data.XMLDataSet("
    http://tornadoyouthhockey.org/Events.cfc?method=EventXML",
    "events/event",{distinctOnLoad:false});
    </script>
    The following function slides open the detail:
    <script type="text/javascript">
    function startBlind(rid) {
    var contentdiv = document.getElementById('panel'+ rid
    +'Content');
    var panel_height = contentdiv.clientHeight;
    if (panel_height<100){
    var bd = new Spry.Effect.Blind('panel'+ rid +'Content',
    {duration: 800, to: '100px', toggle: true});
    else {
    var bd = new Spry.Effect.Blind('panel'+ rid +'Content',
    {duration: 800, to: '0px', toggle: true});
    bd.start();
    </script>
    Within the repeat I have:
    <div class="EventPanelLabel"
    onclick="startBlind({ds_RowID});">{startDate} &mdash;
    {title}</div>
    I think the XML looks OK but for some reason when the page
    loads, IE6 returns:
    Exception caught while loading
    http://tornadoyouthhockey.org/Events.cfc?method=EventXML:
    [object Error]
    The page seems to work fine in Safari and Firefox on the Mac
    and IE7 as well as Firefox on Windows. Just IE6 seems to be having
    the problem. Could you please take a look at
    http://tornadoyouthhockey.org
    and provide any suggestions you may have?
    Also, is there a way to hide the {startDate} - {title} I'm
    seeing while the page loads?
    Thanks,
    Kevin

    Kin:
    Thanks for your reply. I made the changes you suggested but,
    unfortunately, IE6 is still giving me the same error when the page
    loads:
    Exception caught while loading
    http://tornadoyouthhockey.org/Events.cfc?method=EventXML:
    [object Error]
    Could this be part of the problem an need to be changed as
    well? :
    <div id="panel{ds_RowID}Content"
    Any other ideas? The page is live if you'd care to look...
    http://tornadoyouthhockey.org
    Kevin

  • Diferent spry:repeat over a accordion widget

    Hello, I am trying to populate a accordion with a xml.
    my xml schema is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    <canal nom="Últimos vídeos visitados">
    <item id="968">
    <title>Barredora Inalambrica</title>
    <text>Pensando en usted y su comodidad le ofrecemos
    ...</text>
    <video>videos/Hogar-3-BarredoraInalambrica.flv</video>
    <thumb>videos/thumbs/hogar3_thumb.jpg</thumb>
    <img>videos/thumbs/hogar3.jpg</img>
    </item>
    <item id="1000">
    <title>Wonder Max</title>
    <text>Preparar una fantástica comida, nunca
    había sido ...</text>
    <video>videos/Hogar-4-WonderMax.flv</video>
    <thumb>videos/thumbs/hogar4_thumb.jpg</thumb>
    <img>videos/thumbs/hogar4.jpg</img>
    </item>
    <item id="1001">
    <title>Chef-O-Matic</title>
    <text>¿No tienes tiempo para cocinar?
    </text>
    <video>videos/Hogar-5-Chef-O-Matic.flv</video>
    <thumb>videos/thumbs/hogar5_thumb.jpg</thumb>
    <img>videos/thumbs/hogar5.jpg</img>
    </item>
    </canal>
    <canal nom="Viajes">
    <item id="968">
    <title>Barredora Inalambrica</title>
    <text>Pensando en usted y su comodidad le ofrecemos
    ...</text>
    <video>videos/Hogar-3-BarredoraInalambrica.flv</video>
    <thumb>videos/thumbs/hogar3_thumb.jpg</thumb>
    <img>videos/thumbs/hogar3.jpg</img>
    </item>
    <item id="1000">
    my code is:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <title>Untitled Document</title>
    <script src="includes/SpryAccordion.js"
    type="text/javascript"></script>
    <script src="includes/xpath.js"
    type="text/javascript"></script>
    <script src="includes/SpryData.js"
    type="text/javascript"></script>
    <link href="css/SpryAccordion.css" rel="stylesheet"
    type="text/css" />
    </head>
    <body>
    <div spry:region="channels items">
    <div class="Accordion" id="sampleAccordion"
    tabindex="0">
    <div class="AccordionPanel" spry:repeat="channels">
    <div class="AccordionPanelTab" >{@nom}</div>
    <div class="AccordionPanelContent">
    <div spry:repeat="items">
    <li>{title}</li>
    <li>{text}</li>
    </div>
    </div>
    </div>
    </div>
    <script language="JavaScript" type="text/javascript">
    var channels = new Spry.Data.XMLDataSet("data/channels.xml",
    "root/canal", {distinctOnLoad: true});
    var items = new Spry.Data.XMLDataSet("data/channels.xml",
    "root/canal/item", {distinctOnLoad: true});
    var sampleAccordion = new
    Spry.Widget.Accordion("sampleAccordion");
    </script>
    </body>
    </html>
    I don't know how I can insert the item tags inside de
    AccordionTabContent. I want to insert in the AccordionTabContent
    each item tag of each channel, but If I do a repeat over channels
    dataSet I can't extract the item information and If I try to repeat
    over items dataset, I can't extract the canal tag information to
    make the AccordionPanelTab.
    Do you know how can I do it?
    Thanks in advance

    I solve this problem today,,..is very vell documented...
    When you repeat acordion or tab or other wiget, you need have
    in repeat div also constructor of that object..
    Try this code...look at last div..
    change your include paths.
    my work code :
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <title>test</title>
    <script src="SpryAssets/SpryAccordion.js"
    type="text/javascript"></script>
    <script src="SpryAssets/xpath.js"
    type="text/javascript"></script>
    <script src="SpryAssets/SpryData.js"
    type="text/javascript"></script>
    <script type="text/javascript">
    var channels = new Spry.Data.XMLDataSet("xml.xml",
    "root/canal", {distinctOnLoad: true});
    var items = new Spry.Data.XMLDataSet("xml.xml",
    "root/canal/item", {distinctOnLoad: true});
    </script>
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet"
    type="text/css" />
    </head>
    <body>
    <div spry:region="channels items">
    <div class="Accordion" id="sampleAccordion"
    tabindex="0">
    <div class="AccordionPanel" spry:repeat="channels">
    <div
    class="AccordionPanelTab">{channels::@nom}</div>
    <div class="AccordionPanelContent">
    <div spry:repeat="items">
    <li>{items::title}</li>
    <li>{items::text}</li>
    </div>
    </div>
    </div>
    </div>
    <script language="JavaScript" type="text/javascript">
    var sampleAccordion = new
    Spry.Widget.Accordion("sampleAccordion");
    </script>
    </div>
    </body>
    </html>
    My xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    <canal nom="Últimos vídeos visitados">
    <item id="968">
    <title>Barredora Inalambrica</title>
    <text>Pensando en usted y su comodidad le ofrecemos
    ...</text>
    <video>videos/Hogar-3-BarredoraInalambrica.flv</video>
    <thumb>videos/thumbs/hogar3_thumb.jpg</thumb>
    <img>videos/thumbs/hogar3.jpg</img>
    </item>
    <item id="1000">
    <title>Wonder Max</title>
    <text>Preparar una fantástica comida, nunca
    había sido ...</text>
    <video>videos/Hogar-4-WonderMax.flv</video>
    <thumb>videos/thumbs/hogar4_thumb.jpg</thumb>
    <img>videos/thumbs/hogar4.jpg</img>
    </item>
    <item id="1001">
    <title>Chef-O-Matic</title>
    <text>¿No tienes tiempo para cocinar?
    </text>
    <video>videos/Hogar-5-Chef-O-Matic.flv</video>
    <thumb>videos/thumbs/hogar5_thumb.jpg</thumb>
    <img>videos/thumbs/hogar5.jpg</img>
    </item>
    </canal>
    <canal nom="Viajes">
    <item id="968">
    <title>Barredora Inalambrica</title>
    <text>Pensando en usted y su comodidad le ofrecemos
    ...</text>
    <video>videos/Hogar-3-BarredoraInalambrica.flv</video>
    <thumb>videos/thumbs/hogar3_thumb.jpg</thumb>
    <img>videos/thumbs/hogar3.jpg</img>
    </item>
    </canal>
    </root>
    Dont remember repeat constructor using last </div> :)
    bye
    Spry V.1.6

  • How to store spry data in php array

    I am trying to store spry data in php array like this:
    <? $foo= array();?>
      <div spry:region="dsCALC">
        <div spry:repeat="dsCALC">
          <?php
    $foo[]='{dsCALC::DataPrice}';
    ?>
          </div>
      </div>
    <?var_dump($foo);?>
    Outputs:
    Array (     [0] => {dsCALC::DataPrice} )
    If I tried a variable, it works ok... The array, not... Any ideas?

    Outputs:
    Array (     [0] => {dsCALC::DataPrice} )
    And so it should, because that is what you told the PHP-script to do in the following line of code.
    $foo[]='{dsCALC::DataPrice}';
    Please remember that PHP code is handled on the server, whereas JavaScript (Spry) is handeld on the client (browser) end. JavaScript cannot be handeld by PHP nor can JavaScript handel PHP.
    My question to you is, why do you want to store the data in a PHP-array and how is the Spry data obtained?
    Ben

  • Error "failed to retrieve data set (ds1) for spry:repeat" in IE when using filters

    Everything works fine in Firefox, but in IE7 I get an error
    message saying "Failed to retrieve data set (ds1) for spry:repeat."
    It seems to be my filter set that's causing this. Once I commented
    out the chunk of code that handles filtering, the page finally
    loaded. How can I get it to work in IE?
    Here's the page:
    http://a44.awardspace.com/testing/mbc/portfolio/

    This usually means the dataset (ds4) can not be found / is not created.
    So double check that you have created the dataset.
    If this is the case.. please provide us with a online url.

  • Passing a Spry XML Dataset to a function

    I am very much a noob at this.  How would I pass my XML dataset to a function so that the function would check a "date" field in the XML file and color the corresponding date cell in a YUI calendar?  I have looked through the YUI Forums, but couldn't find any good examples.  I am making a calendar of events that uses a calendar to filter the events in my XML file.  I want the calendar to highlight the dates that have an event scheduled, so the users get a visual pointer to when events are scheduled.  Here is my code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="SpryAssets/xpath.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryData.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryDataExtensions.js" type="text/javascript"></script>
    <script src="yui/2.6.0/build/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"></script>
    <script src="yui/2.6.0/build/calendar/calendar-min.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryDOMUtils.js" language="javascript" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    var dsMDEvents = new Spry.Data.XMLDataSet("schedule.xml", "events/event", {sortOnLoad: "date", sortOrderOnLoad: "ascending"});
    var dsEvents = new Spry.Data.XMLDataSet("schedule.xml", "events/event", {sortOnLoad: "date", sortOrderOnLoad: "ascending"}  );
    dsEvents.setColumnType("date", "date");
    dsEvents.setColumnType("@id", "number");var thisDate = new Date();
    var todaysDate = mydateFormat(thisDate);
    function pad(v)
      return (v<10?"0"+v:v);
    function mydateFormat(inDate)
      var myData = inDate;
      var gToday = new Date(myData);
      var tToday = pad(gToday.getMonth()+1).toString() + "/" + pad(gToday.getDate()).toString() + "/" + gToday.getFullYear().toString();
      return (tToday);
    }//-->
    </script>
    <link href="yui/2.6.0/build/fonts/fonts-min.css" rel="stylesheet" type="text/css" />
    <link href="yui/2.6.0/build/calendar/assets/skins/sam/calendar.css" rel="stylesheet" type="text/css" /><link href="SpryAssets/SpryMasterDetail.css" rel="stylesheet" type="text/css" />
    </head><body>
    <div id="Schedule">
      <div id="calendarDiv"></div>
      <script type="text/javascript">
    // BeginWebWidget YUI_Calendar: yuicalendar1
      YAHOO.namespace("calendar");  (function() {
        var cn = document.body.className.toString();
        if (cn.indexOf('yui-skin-sam') == -1) {
          document.body.className += " yui-skin-sam";
      YAHOO.calendar.init = function() {
    YAHOO.calendar.cal1 = new YAHOO.widget.CalendarGroup("cal1", "CalendarDiv", {PAGES:3});    // The following event subscribers demonstrate how to handle
        // YUI Calendar events, specifically when a date cell is
        // selected and when it is unselected.
        // See: http://developer.yahoo.com/yui/calendar/ for more
        // information on the YUI Calendar's configurations and
        // events.
        // The YUI Calendar API cheatsheet can be found at:
        // http://yuiblog.com/assets/pdf/cheatsheets/calendar.pdf
        //--- begin event subscribers ---//
        YAHOO.calendar.cal1.selectEvent.subscribe(selectHandler, YAHOO.calendar.cal1, true);
        YAHOO.calendar.cal1.deselectEvent.subscribe(deselectHandler, YAHOO.calendar.cal1, true);
        //--- end event subscribers ---//
    function dateHighlightRenderer(workingDate, cell) {
       var isHighlighted = false;
       var date = workingDate.getMonth()+1 + "/" + workingDate.getDate() + "/" + workingDate.getFullYear();
       /*if (rows["date"].search(date) != -1) {
      isHighlighted = true;
       if (date) {
      isHighlighted = true;
       if (isHighlighted) {
      YAHOO.util.Dom.addClass(cell, this.Style.CSS_CELL_HIGHLIGHT4);
    //YAHOO.calendar.cal1.addRenderer("11/14/2009, 11/1/2009, 11/29/2009, 11/30/2009", YAHOO.calendar.cal1.renderCellStyleHighlight1);
    for (var i = 1; i <= 7; i++) {
       // Attach to the Weekday, instead of individual dates/ranges, to improve performance.
       YAHOO.calendar.cal1.addWeekdayRenderer(i, dateHighlightRenderer);
    YAHOO.calendar.cal1.render();
    var todayFilterFunc = function(dsMDEvents, row, rowNumber)
       if (row["date"] >= todaysDate)
       return row; // Return the row to keep it in the data set.
    return null; // Return null to remove the row from the data set.
    dsMDEvents.filter(todayFilterFunc);
    }  function selectHandler(event, data) {
      // The JavaScript function subscribed to yuicalendar1.  It is called when
      // a date cell is selected.
      // alert(event) will show an event type of "Select".
      // alert(data) will show the selected date as [year, month, date]. 
      var formattedDate = pad(data[0][0][1]) + "/" + pad(data[0][0][2]) + "/" + data[0][0][0];
      var dateFilterFunc = function(dsMDEvents, row, rowNumber)
    if (row["date"].search(formattedDate) != -1)
       return row; // Return the row to keep it in the data set.
    return null; // Return null to remove the row from the data set.
      dsMDEvents.filter(dateFilterFunc); // Filter the rows in the data set.
      };  function deselectHandler(event, data) {
      // The JavaScript function subscribed to yuicalendar1.  It is called when
      // a selected date cell is unselected.
      };      // Create the YUI Calendar when the HTML document is usable.
      YAHOO.util.Event.onDOMReady(YAHOO.calendar.init);
    // EndWebWidget YUI_Calendar: yuicalendar1
      </script>
    <div class="MasterDetail">
      <div spry:region="dsMDEvents" class="MasterContainer">
        <div class="MasterColumn" spry:repeat="dsMDEvents" spry:setrow="dsMDEvents" spry:hover="MasterColumnHover" spry:select="MasterColumnSelected">{date}<br />
          {name}<br />
          {starttime} - {endtime}</div>
      </div>
      <div spry:detailregion="dsMDEvents" class="DetailContainer">
        <h2 class="DetailColumn">{name}</h2>
        <p class="DetailColumn"><strong>Date:</strong> {date}<br />
        <strong>Time:</strong> {starttime} - {endtime}</p>
        <p class="DetailColumn"><strong>Where:</strong> {location}<br />
        <strong>Type:</strong> {type}</p>
        <p class="DetailColumn"><strong>Contact:</strong> {contact}</p>
      </div>
      <br style="clear:both" />
    </div>
    </div>
    </body>
    </html>
    and here is a snipet of my xml file:
    <?xml version="1.0" encoding="utf-8"?>
    <events>
    <event id="1">
      <name>Dreamweaver CS4 Intermediate</name>
      <date>10/15/2009</date>
      <starttime>8:00 am</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 1</location>
      <type>Training</type>
      <contact>Contact 1</contact>
    </event>
    <event id="2">
      <name>InDesign CS4 Advanced</name>
      <date>11/14/2009</date>
      <starttime>8:00 am</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 2</location>
      <type>Training</type>
      <contact>Contact 1</contact>
    </event>
    <event id="3">
      <name>Flex CS4 Data Services</name>
      <date>10/15/2009</date>
      <starttime>1:00 pm</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 2</location>
      <type>Meeting</type>
      <contact>Contact 2</contact>
    </event>
    <event id="4">
      <name>Another Dreamweaver CS4 Intermediate</name>
      <date>11/30/2009</date>
      <starttime>8:00 am</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 1</location>
      <type>Training</type>
      <contact>Contact 1</contact>
    </event>
    <event id="5">
      <name>Another InDesign CS4 Advanced</name>
      <date>11/29/2009</date>
      <starttime>8:00 am</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 2</location>
      <type>Training</type>
      <contact>Contact 3</contact>
    </event>
    <event id="6">
      <name>Another Flex CS4 Data Services</name>
      <date>11/01/2009</date>
      <starttime>1:00 pm</starttime>
      <endtime>5:00 pm</endtime>
      <location>Room 2</location>
      <type>Meeting</type>
      <contact>Contact 2</contact>
    </event>
    <event id="7">
      <name>More Training</name>
      <date>11/02/2009</date>
      <starttime>8:00 am</starttime>
      <endtime>10:00 am</endtime>
      <location>Room 3</location>
      <type>Training</type>
      <contact>Contact 4</contact>
    </event>
    <event id="8">
      <name>Another Training</name>
      <date>10/25/2009</date>
      <starttime>9:00 am</starttime>
      <endtime>11:00 am</endtime>
      <location>Room 3</location>
      <type>Training</type>
      <contact>Contact 4</contact>
    </event>
    <event id="9">
      <name>Some More Training</name>
      <date>12/02/2009</date>
      <starttime>1:00 pm</starttime>
      <endtime>3:00 pm</endtime>
      <location>Room 3</location>
      <type>Training</type>
      <contact>Contact 4</contact>
    </event>
    </events>
    The function "dateHighlightRenderer" is where I am running into the problem.  How do I code this so that "dateHighlightRenderer" can read the "date" field in my XML file?

    I have tried the getData() function for this.  However, I am not sure if I am using it right:
    var d = dsMDEvents.getData();
    for (var i = 0; i < d.length(); i++) {
       var day = d[i]["date"];
       YAHOO.calendar.cal1.addRenderer(day, dateHighlightRenderer);
    When I run this for loop, my calendar will not appear on the page.  Any suggestions?

  • Conditional class change of spry:repeat element

    Hello et al,
    I have a "out-of-box" master/detail region setup using a HTML dataset. The master repeat region is:
         <div id="nav" spry:region="ds1">
              <ul spry:repeat="ds1" spry:choose="spry:choose">
                   <li spry:when="{ds_CurrentRowID} == {ds_RowID}" spry:selected spry:setrow="ds1" spry:hover="hover" spry:select="selected">{heading}</li>
                   <li spry:default spry:setrow="ds1" spry:hover="hover" spry:select="selected" >{heading}</li>
              </ul>
         </div>
    I have three different CSS rules that I apply to this structure: #nav, #nav li, and #nav li.last. I would like to know what is the best method to identify and change the CSS rule for the last repeated <li> from default #nav li to #nav li.last?
    Thank you in advance,
    nomadcanuck

    Try something like this:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml"
    xmlns:spry="
    http://ns.adobe.com/spry"><head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8"><title>Habitat Approved
    Vendors</title>
    <script src="SpryAssets/xpath.js"
    type="text/javascript"></script>
    <script src="SpryAssets/SpryData.js"
    type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    var dsTypes = new Spry.Data.XMLDataSet("vendors1.xml",
    "vendors/vendor/Type", { distinctOnLoad: true, sortOnLoad: "Type"
    var dsVendors = new Spry.Data.XMLDataSet("vendors1.xml",
    "vendors/vendor[Type = '{dsTypes::Type}']");
    //-->
    </script><link href="outlines.css" type="text/css"
    rel="stylesheet"></head><body>
    <p>Habitat for Humanity South Hampton Roads</p>
    <div spry:region="dsTypes">
    <label>Type:
    <select
    onchange="dsTypes.setCurrentRowNumber(this.selectedIndex);"
    spry:repeatchildren="dsTypes">
    <option spry:if="{ds_RowNumber} == {ds_CurrentRowNumber}"
    value="{Type}" selected="selected">{Type}</option>
    <option spry:if="{ds_RowNumber} != {ds_CurrentRowNumber}"
    value="{Type}">{Type}</option>
    </select>
    </label>
    </div>
    <p>Vendor List</p>
    <div spry:region="dsVendors">
    <table>
    <tr>
    <th>Vendor ID</th>
    <th scope="col" spry:sort="Company">Company</th>
    <th>Contact</th>
    <th>Phone</th>
    <th scope="col" spry:sort="Type">Type</th>
    </tr>
    <tr spry:repeat="dsVendors">
    <td>{@id}</td>
    <td>{Company}</td>
    <td>{Contact}</td>
    <td>{Phone}</td>
    <td>{Type}</td>
    </tr>
    </table>
    </div>
    <p>  </p>
    </body></html>

  • Help with Spry Rating Widget within a Spry Repeating Region

    My link  http://www.youthinkyougotitbad.com
    This is a long question, but it seems to me if answered somewhere it could help alot of people in the spry community creating comment boards as it uses three important spry widgets: rating, repeating, and tabbed panels. I am trying to use spry rating widget within a spry repeating region within a spry tabbed panel with xml. I was trying to go with the pulse light script (http://forums.adobe.com/message/3831721#3831721) but Gramps told me about the spry rating widget. But I have ran into a couple more problems. First, I couldnt find that much information on the forums or online about how to do the php page with the spry rating widget. None of these have any information on how to do it:
    http://labs.adobe.com/technologies/spry/articles/rating_overview/index .html
    http://labs.adobe.com/technologies/spry/articles/data_api/apis/rating. html
    http://labs.adobe.com/technologies/spry/samples/rating/RatingSample.ht ml
    And it seems that the official examples are so poor (or I am just ignorant, which def could be a possiblity) it shows
    to set the initial rating value from the server, but uses a static value of 4
    http://labs.adobe.com/technologies/spry/samples/rating/RatingSample.html
    <span id="initialValue_dynamic" class="ratingContainer">
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>      
             <input id="spryrating1_val" type="text" name="spryrating1" value="4" readonly="readonly" />
             <span class="ratingRatedMsg sample">Thanks for your rating!</span>
    </span>
    <script>
    var initialValue_dynamic = new Spry.Widget.Rating("initialValue_dynamic", {ratingValueElement:'spryrating1_val'});
    </script>
    I finally found a site that has the php and mysql setup.
    http://www.pixelplant.ro/en/articles/article-detail/article/adobe-widgets-for-download.htm l
    But its not perfect. It has the same problem that I ran into with Pulse light, that you had to use php echo within the spry repeating region to set the initial value from the server:
    <span id="spryrating1" class="ratingContainer">
             <span class="ratingButton"></span>
                <input type="text" id="ratingValue" name="dynamic_rate" value="<?php echo $row['average']?>"/>
            </span>
            <script type="text/javascript"
                var rating1 = new Spry.Widget.Rating("spryrating1", {ratingValueElement:'ratingValue', afterRating:'serverValue', saveUrl: 'save.php?id=spryrating1&val=@@ratingValue@@'});
            </script>
    So instead, I tried with three of my panels (www.youthinkyougotitbad.com) to get the average rating from xml by using the following queries:
    Recent
    Returns the blurts in most recent order along with average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt Group By Id_blurt ORDER BY Blurt.`Date` DESC
    Wet Eyed
    Returns the blurts in highest ratings order along with the average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt AND ratings.rating_value > 0.1 Group By Id_blurt ORDER BY average_r Desc
    Dry Eyed
    Returns the blurts in lowest rating order along with the average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt AND ratings.rating_value > 0.1 Group By Id_blurt ORDER BY average_r
    These all return the correct xml in the correct order.And they return the average rating of each blurt which I can send to my page with xml.
    My first question is that I dont know how to configure the query on my fourth panel Empathized & Advised the same way because it already has a Group By for the Comment Id.
    SELECT `Comment`.id_Blurt, COUNT(*) as frequency, Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date FROM Blurt, `Comment` WHERE Blurt.Id_blurt = `Comment`.id_Blurt GROUP BY `Comment`.id_Blurt ORDER BY COUNT(*) DESC";
    Not sure if you guys need more information to understand that all, if so just ask.
    So after I get my average value through xml to the first three panels, I set my spry repeating region up like this:
    (Blurt panel)
    <div spry:region="pv1" spry:repeatchildren="pv1">           
               <div class="blurtbox">
                <!--  most recent blurt tab-->
                <h3> "{pv1::Blurt}"</h3>
                <p> Blurted from {pv1::Location} at {pv1::Date}</p>
                <p>Empathize or Advise about {pv1::Name}'s Blurt #<a href="detailblurt.php?blurtid={pv1::Id_blurt}"> {pv1::Id_blurt}</a></a></p>
               <span id="{pv1::Id_blurt}" class="ratingContainer">
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingRatedMsg">Thank You! Your tears have been tallied.</span>
                <input type="text" id="ratingValue" name="dynamic_rate" value="{pv1::average_r}"/>
            </span>
            <script type="text/javascript">
                // overview of available options and their values:
                // http://labs.adobe.com/technologies/spry/articles/rating_overview/index.html
                var rating1 = new Spry.Widget.Rating("{pv1::Id_blurt}", {ratingValueElement:'ratingValue', afterRating:'serverValue', saveUrl: 'save.php?id={pv1::Id_blurt}&val=@@ratingValue@@'});
            </script>
                 <br/>
               </div>
              </div>
    Ok, it registers the right vote in the database with the right blurt id each time. But I am having two problems so far:
    One, even though {pv1::average_r} returns the correct average through xml, it doesn't show the initial rating value for each of the repeating blurts. It seems to show the first one correct, and then just repeat that same value to the other ones that follow. I just dont understand since it can get the correct server value right after you vote (afterRating:'serverValue), that I can't manipulate spryrating.js in some way that I could just replace 'ratingValue' in ratingValueElement:'ratingValue' with something to give me the initial server value.
    Two: Is even more mysterious to me, if you play around with voting on the site, sometimes you are unable to vote on different blurts. Its weird. It seems like that the javascript is completely off just on those blurts. And sometimes its a whole row, sometimes none. But so far its never a problem on the first tabbed panel (Recent), only on the other three. As far as I know, the coding is exactly the same in each tab's repeating region except for the different xml input.
    And, now on the live server, sometimes the pics of tears used to voting dont show up until you click.
    Any help on those three questions (how to query the fourth panel, how to show the initial server value, and the glitches with voting) would be greatly appreciated!! I looked pretty hard on adobe forums and other sites, and didnt see much on how to really use the spry rating widget with php and xml.
    Thanks!!

    Update:
    Ok, the first query on the Recent tab doesnt work for me because it wont show unless its already voted, and since these are supposed to be new blurts, that kind of breaks the whole site:
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt Group By Id_blurt ORDER BY Blurt.`Date` DESC";
    So I replaced it with what I originally had.
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date FROM Blurt ORDER BY Blurt.`Date` DESC";
    But this doesn't provide me with the initial average rating:(

  • Work around for spry:repeat="ds1 ds2" limitation

    I need to have both data sets repeat when using a Spry repeating region:
    <div id="apDiv4" spry:region="ds1 ds2">
        <table class="sprytable" border="1">
          <tr>
            <th spry:sort="Q#">Q#</th>
            <th spry:sort="Category">Category</th>
            <th spry:sort="Question">Question</th>
            <th spry:sort="You">You</th>
          </tr>
          <tr spry:repeat="ds1 ds2">
            <td>{ds1::Q#}</td>
            <td>{ds1::Category}</td>
            <td>{ds1::Question}</td>
            <td>{ds2::You}</td>
          </tr>
        </table>
    </div>
    If I use ds1 in the spry:repeat, ds1 data will repeat (but ds2 will use the first value); or if I specify ds2, ds1 will use the first value.
    I need them both to repeat.
    I have spent so much time in forums, etc. and can't seem to find a workaround.
    My only work around is to combine ds1 and ds2 and reload them together from the server - yuk!
    ds1 is fixed and large. ds2 is small and dynamic so reloading really sucks.
    Following are the ds Vars - probably irrelevent:
    var ds1 = new Spry.Data.HTMLDataSet(null, "rsfamily", {sortOnLoad: "Q#", sortOrderOnLoad: "ascending" }); ds1.setColumnType("Q#", "number"); var ds2 = new Spry.Data.HTMLDataSet("youranswersIRtab.php", "youranswerstab", {}); I will worship the person who gives me an idea.
    Thanks

    Thanks V1, timkho and coolsanwa for your thoughts.  Since you've been so patient (and understanding) let me briefly tell you what I'm trying to do.
    I'm considered good at multi-dimensional databases and have recently fallen in love with DreamWeaver to build a pretty complex site so I don't have to be a real expert at PHP, Spry, Ajax, JavaScript, DOM, HTML, CSS etc (I suck, but most everything is working).
    I wish I could point you to a site but I need to keep it secret for a bit - its strictly on my PC for now.
    Let me explain the snippit, which I still don't have working .
    ds1 has three columns and ds2 has one.
    ds1          ds1               ds1                         ds2               ds3
    Q#          Category         Question                 You               Compare1
    1          Boats               How big?                    24               36
    2          Boats               What color?               Blue               Red
    3          House               Number rooms?          3                    6
    4          House               Sq feet?                    1000               3000
    5          House               Have garage?               No               Yes
    etc to 200+
    ds1 doesn't change and I don't want to reload it
    ds2 are your saved answers (I will have a form to fill in and a Submit-  different subject)
    ds3 is user selected comparisons, retrieved from a MD database (academic because ds2 has me stopped).
    Category has table row classes (to whole row), which will drive Tabbed Panels.
    ds1, ds2, ds3 data have the class assigned to each row (setRowSelector) classes for columns(setColumnSelector).
    I want a Spry Table with its many neat features (eg. sorting) that combines the 3 ds's (lets worry about 2 for now).
    Incredibly simple but I'm stuck.
    Timko suggestion results in syntax error- removing single quotes.
    Collsanwa suggestion creates new columns so repeat is done for each row after You column:
    24,Blue,3,1000,No
    24,Blue,3,1000,No
    24,Blue,3,1000,No
    24,Blue,3,1000,No
    24,Blue,3,1000,No
    24,Blue,3,1000,No
    200+ times
    (I'll repeat the snippit) . Could you point me to an explanation for the spry:if  id/mmid
    Thanks so much.
    <div id="apDiv4" spry:region="ds1 ds2">
        <table class="sprytable" border="1">
          <tr>
            <th spry:sort="Q#">Q#</th>
            <th spry:sort="Category">Category</th>
            <th spry:sort="Question">Question</th>
            <th spry:sort="You">You</th>
          </tr>
          <tr spry:repeat="ds1">
            <td>{ds1::Q#}</td>
            <td>{ds1::Category}</td>
            <td>{ds1::Question}</td>
            <td spry:repeat="ds2" spry:if="'{ds1::id}' == '{ds2::mmid}'">{ds2::You}</td>
    <!--    <td spry:repeat="ds2" spry:if="{ds1::id} == {ds2::mmid}">{ds2::You}</td>   Syntax error w/o quote-->
          </tr>
        </table>
    </div>

  • Spry:repeat works in Mozilla and not IE 6

    I made this little test in Spry.
    It happens to work in Mozilla but not in Internet Explorer 6
    which is quite weird since I almost copy/pasted from one of the
    included examples (the example worked fine everywhere).
    Can anyone point me in the right direction please?
    Thanks...
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml"
    xmlns:spry="
    http://ns.adobe.com/spry">
    <head>
    <title>Club voleibol bargas</title>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <script language="JavaScript" type="text/javascript"
    src="scripts/spry/xpath.js"></script>
    <script language="JavaScript" type="text/javascript"
    src="scripts/spry/SpryData.js"></script>
    <script language="JavaScript" type="text/javascript">
    var dsNews = new
    Spry.Data.XMLDataSet("scripts/xml_noticias.php", "/allnews/news");
    </script>
    </head>
    <body>
    <div spry:region="dsNews">
    <div spry:repeat="dsNews">{header}</div>
    </div>
    </body>
    </html>
    The XML needed for this looks like this:
    <allnews>
    <news>
    <id>26</id>
    <header>Morbi mauris.</header>
    </news>
    <news>
    <id>23</id>
    <header>Lorem ipsum dolor sit amet</header>
    </news>
    <news>
    <id>8</id>
    <header>Proin convallis. Duis sed est ut ligula
    ullamcorper bibendum.</header>
    </news>
    </allnews>

    I spent days trying to figure it out and the minute I post it
    here the solution comes to me!
    The problem was that the XML file was being generated by a
    PHP script which was not outputting the appropriate headers.
    You can use:
    header('Content-Type: text/xml');
    Or use this other one if your charset is NOT US-ASCII:
    header('Content-Type: application/xml');

  • Help With Spry Repeat Regions

    Hello everyone,
    I've recently started using Spry for a project I've been
    asked to work on and I've run in to a few issues since my spec
    changed on me today. So any help or advice anyone has is very much
    welcome as I'm very much out my comfort zone at the moment.
    Original Spec
    The idea originally was to have a drop down of roles which
    was created from the role tag within a xml file which I was able to
    do as you can see below in the attached code. Once the user had
    picked a role it would then
    ds2.setCurrentRowNumber(this.selectedIndex) and this would trigger
    the spry detail region I have to populate the fields I setup to get
    out of the xml the role, process and info.
    At the time I was told a role would only appear once in the
    file but this is now not the case :(
    My problem / New Spec
    Unfortunately with the xml now having a role more then once
    I've been asked to include a dynamic region which will display the
    process and info fields from other records which have this role
    name. Which is the bit I'm having problems with. I've been playing
    with creating a spry:repeat for each field and then using
    Spry:if="'{Role}'.search(^/myVar/) != -1; but I've had no luck
    getting a value into a variable and I'm lack of experience is
    running out of ideas.
    Hope I've made sense this is my first time using spry and
    JavaScript, so any help is greatly welcome.
    Thanks Nick.
    Example of the XML file - Please note this is very much a cut
    down version.

    tried changing the Region HTML table cell attributes to width:75pct, but this has no effect.Unsurprisingly. Use a valid CSS length specification.

  • How to show an entry with specific ID from spry xml dataset?

    I have a spry xml dataset, can I show only one record
    specified by, say, unique ID?

    yeah, I first posted this one, then found out that my other
    message was replied:)

  • Limiting Number of Rows in spry:repeat Region

    With the code...
    <tr spry:repeat="dsTitles">
    <td width="60%">{title}</td>
    <td width="14%">{author}</td>
    <td width="9%">{date}</td>
    </tr>
    ... How do I limit the number of rows that will be displayed
    in this repeat region
    to just 5, instead of displaying all 25 rows stored in the
    XMLDataSet (dsTitles)?
    Thanks!
    Oscar

    Hey Oscar,
    Glad that works for you.
    Kin and I were thinking that {ds_RowNumber} might be better
    for that particular looping, but you get the idea.
    http://labs.adobe.com/technologies/spry/articles/data_set_overview/index.html
    That was our first overview doc and it was definitive at the
    time. We no longer update it but it's a good intro to Spry.
    You can find the built in data references in that doc,
    granted almost at the very bottom.
    The API doc
    http://labs.adobe.com/technologies/spry/articles/data_api/index.html
    is a good start but we still have a lot to add to it. I have
    plans for it for sure.
    We are doing a big push for 1.6 towards progressive
    enhancement, unobtrusive js and things like that.
    Expect docs and samples and some cool utilities to come out
    this summer and for 1.6.
    And we won't charge for it, but we also won't return any
    cash-laden envelopes... ;)
    Let us know how to improve any part of Spry.
    Thanks,
    Don

  • Passing values to a function from spry:repeat

    Is this a viable solution?
    &lt;div spry:repeat=&quot;dsData&quot;&gt;
    &lt;script
    type=&quot;text/javascript&quot;&gt;addPin(&quot;{ds_RowNumberPlus1}&quot;,&quot;{site}&q uot;,&quot;{latitude}&quot;,&quot;{longitude}&quot;);&lt;/script&gt;
    &lt;/div&gt;

    quote:
    Originally posted by:
    victor.corey
    Hello V1 Fusion,
    Yes this did work. Thank you.
    For clarification, why add this to a spry:if in a hidden span
    versus just adding a javascript script block inside the
    spry:repeat. Both seem to work so far, but it seems your solution
    may help with error handling???
    Thanks,
    Victor Corey
    I know u could use functions in Spry if, im
    using them my self i should show a row based on cookie values ( the
    function checks if certain data is in a cookie, and if its there it
    shows the row).
    I was about to use the same technique for my own project my
    self to, so i thought it would be a good way to gather certain
    data, based on what u get returned from your own data set.
    And if u add a javascript block, each time u repeat it, it
    has to be created. its allot smaller size wise to create a little
    span (or u can even add it to the repeat self). That was basicly
    the reason why i suggested using a spry:if ^_^

  • Limiting Items Displayed in Spry Repeat Lists, Tables, Etc.

    Is it possible to limit the items shown in Spry repeat
    region? For example say I have 20 items in a list and only want to
    display the first three items, not the entire list. If so how is
    that done?

    Hey Oscar,
    Glad that works for you.
    Kin and I were thinking that {ds_RowNumber} might be better
    for that particular looping, but you get the idea.
    http://labs.adobe.com/technologies/spry/articles/data_set_overview/index.html
    That was our first overview doc and it was definitive at the
    time. We no longer update it but it's a good intro to Spry.
    You can find the built in data references in that doc,
    granted almost at the very bottom.
    The API doc
    http://labs.adobe.com/technologies/spry/articles/data_api/index.html
    is a good start but we still have a lot to add to it. I have
    plans for it for sure.
    We are doing a big push for 1.6 towards progressive
    enhancement, unobtrusive js and things like that.
    Expect docs and samples and some cool utilities to come out
    this summer and for 1.6.
    And we won't charge for it, but we also won't return any
    cash-laden envelopes... ;)
    Let us know how to improve any part of Spry.
    Thanks,
    Don

Maybe you are looking for

  • Can't import JPGs but I can open with Preview

    iPhoto 4, OSX 10.3.9 I copied hundreds of JPGs (from XP) to OSX and tried to import them into iPhoto. I get an error message. "Unreadable Files The following files could not be imported (they may be an unrecognized file type of the files may not cont

  • Need help setting up Flex on server (sdk?)

    This should be a simple noob question: I have Flex Builder on my local machine. I've created an application (project.mxml) that uses VideoDisplay to play some videos chosen from a List using an XML file as the data source. The app works great testing

  • Migration issue - setId(String) in the type UIComponentClassicTagBase

    P.S.: I posted this on the JSF forum but got no reply. That`s why I`m posting here too. Hi, I've looked everywhere and tried everything I could think of but, I'm still stuck. I'm trying to migrate from JSF 1.1 to 1.2.10. At this point, the migration

  • Can't connect to JDBC

    Hope someone can help me out here. I have a sample Java program that simply connects to a table in an Oracle database and tells me if it connected ok or not. The program compiles without complaint, however when I trying to execute it I get the follow

  • Invalid number erorr..

    Hi, I am getting "Invalid Number" error in following: SELECT to_char('&startDate','FMMM') fiscalPeriod FROM dual Input start Date: 1/1/2006 --> throws above error Pls help.. thx JP