Re the remaining space: I realize you have
to scroll quite a bit (of course it differed depending on the size of my
window) but I wonder if at any time the space available was actually larger
than the full height of a row. That’s the key…
Both your list issues are funky, wish I
had some better suggestions for you. For the TileList images maybe try
setting the image source to null and then afterward setting it to the real
value? So in setValue set it to null, then enter the if statement and set
it to the real value? Or maybe call invalidate? It should work, it’s
funky. Of course you could also just load the image from the web server
and assume the browser cache will take care of it for you (turn it into a JPG
or SWF instead of a GIF).
For the review list I think there’s
basically a bug in the variableRowHeight code, only thing you could try is
calling invalidate() (or maybe invalidateLayout) on the List and see if it
resets its content rows? A Repeater also would do pretty well here, you
could simulate the alternating background color pretty easily by doing some simple
test in the initialize statement if event.target.getRepeaterIndex() % 2 == 0
and setting the backgroundColor appropriately.
Sorry to not be of more help,
Matt
From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Devin Holloway
Sent: Thursday, July 21, 2005 3:45
PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: Odd
behaviors with List controls
Hi Matt, thanks for responding!
It seems like you'd only have extra space in a
list control if the
height of the control is greater then the combined
height of all the
elements in the control. That wouldn't be the case
in this example,
since you have to scroll vertically to see all the
items. If you
scroll to where the last row is completely
visible, you can still
keep scrolling quite a bit.
I never did fix the second item, it's just that
the steps to
reproduce it have changed. Let me first explain
the criteria on what
must exist to create the bug.
You have to have a dynamic image in a non-visible
cell of the list
(due to the list being scrolled up or down). Then
you reload the data
provider causing the scrolling to reset itself. Any
cell that shares
the same index as the previously hidden cell, that
also becomes
visible due to the resetting of the scrollbar,
that also uses an
embedded image, will be affected.
So, in my application,
http://default.devinholloway.com/flex/capoeira/,
click on the "Books"
link. With my screen resolution, I can see two
columns and three rows
of books (all dynamic images). With the scroll bar
still at the top,
click to go to page 2. The first two rows use the
embedded "no image"
icon. That's an example of it working correctly.
Now click to back to
page 1 and then scroll all the way to the bottom.
The first two rows
of books should be completely hidden (and
hopefully you'll notice
that huge amount of leftover space that the
bottom). While the scroll
bar is still at the bottom, click to go to page
two. The first two
rows of books on page two, which used to show the
"no image" embedded
icon, now show the same book covers that the first
rows on the page 1
does, only resized to the height of the "no
image" icon.
If you want to see happen even more, scroll down
to the bottom of the
second page, you'll see that the last two products
show the photos of
the last two products on page one (again resized).
for the 4th issue, you need to be on the
"books" page, then the rest
of the steps are the same.
--- In flexcoders@yahoogroups.com,
"Matt Chotin" <[EMAIL PROTECTED]> wrote:
> Sorry it took so long to respond to this, you
may have addressed
some of
> these issues already:
>
>
>
> 1) I
believe the extra row is actually just leftover space in
the
> list. We don't show partial rows unless
you explicitly set a count
that
> would cause the row to appear.
>
> 2) I
think you've fixed this on the site as it is now?
>
> 3) This
resizing might be a bug in our List class. The extra
row
> is simply because we have a minimum number of
cells that need to get
> rendered to allow scrolling with
variableRowHeight.
>
> 4) Since
you've added more content since your post I can't
> reproduce this.
>
>
>
> Matt
>
>
>
> ________________________________
>
> From: flexcoders@yahoogroups.com
[mailto:flexcoders@yahoogroups.com]
On
> Behalf Of Devin Holloway
> Sent: Friday, July 15, 2005 9:07 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Odd behaviors with List
controls
>
>
>
> I've been noticing a lot of odd behavior with
the List and TileList
> controls. The application I'm working on is
located at:
>
> http://default.devinholloway.com/flex/capoeira/
>
> You should see the list of titles on the left
hand side. If you
> scroll
> the product list all the way down, you'll see
an empty row. Every
> time
> I use a list-based control, it always
produces at least one extra
> empty
> row at the bottom. Is this expected behavior?
>
> Issue #2: Keep the product list scrolled to
the bottom to where the
> top
> product for both tilelist columns are not
visible (my browser is
> maximized at 1024x768), and then use the
NumericStepper pager
control
> to jump to the second page of results. When
that loads, the top
> product
> for each column should be using the "no
image" book cover. But
> instead,
> they're using the same two images for the top
two products on the
> first
> page of results, only resized to same height
as the "no image"
icon.
> Now scroll to the bottom of the second page,
and the last two
> products
> might also display the same two images rather
then the "no image"
> icon.
> This is fairly consistent behavoir when
flipping through pages.
>
> Issue #3: Go back to the first page and
select the first product.
On
> the right hand side, select the
"customer reviews" accordion pane.
> This
> list displaying these reviews have
variableRowHeight and wordWrap
> turned on. When you first select the customer
reviews, the list
isn't
> sized correctly. It's as if it figures out
the height of the
tallest
> list item, and uses that height for all
visible list items. You have
> to
> scroll up and down to get it to recalculate
and get each list item
> sized correctly. You should also see one
extra blank list item at
the
> bottom like I noted in the first issue.
>
> Issue #4: Now use the NumericStepper at the
bottom of the reviews
to
> flip to the second page of reviews, and
scroll to the bottom. The
> second page has 5 review list items,
although, the scroll bar stops
> at
> the end of the third item and won't let you
scroll any further.
> Sometimes if you scroll up and down, or go to
another page of
reviews
> and come back, it'll let you see all of the
reviews on this page.
>
> Here's the code snippets for both the lists:
>
> Product Tile List:
>
> <mx:TileList id="productList"
>
dataProvider="{aws.ItemSearch.result.Items.Item}"
>
cellRenderer="ProductListCellRenderer"
liveScrolling="false"
> change="aws.ItemLookup.send();"
width="100%" height="100%"
> itemWidth="225" itemHeight="125"/>
>
>
> Product Tile List Cell Renderer:
>
> <mx:Script>
> <![CDATA[
>
[Embed(source="images/noimg.gif")]
> var
noimage:String;
>
> function
setValue(str:String, item:Object, sel:String) {
>
if (item==undefined) {
>
visible = false;
>
return;
>
} else {
>
title.text=item.ItemAttributes.Title;
>
author.text=(item.ItemAttributes.Author)?"By "
> + item.ItemAttributes.Author:"";
>
price.text=(item.Offers.Offer)?"Price: " +
>
item.Offers.Offer.OfferListing.Price.FormattedPrice:"";
>
availability.text=
>
(item.Offers.Offer.OfferListing.Availability)?
> item.Offers.Offer.OfferListing.Availability:"Currently
unavailable";
>
if (item.SmallImage) {
>
image.source=item.SmallImage.URL;
>
image.width=item.SmallImage.Width;
>
image.height=item.SmallImage.Height;
>
>
} else {
>
image.source=noimage;
>
image.width=60;
>
image.height=40;
>
}
>
visible=true;
>
}
> }
> ]]>
> </mx:Script>
>
> <mx:Text id="title"
width="225" height="30" selectable="false"
> styleName="productTitle"/>
> <mx:HBox width="100%"
height="100%">
>
<mx:Image id="image"/>
> <mx:VBox>
>
<mx:Label id="author" width="157"/>
>
<mx:Text id="availability" width="157"
> selectable="false"/>
>
<mx:Label id="price" styleName="productPrice"/>
>
</mx:VBox>
> </mx:HBox>
>
>
> Customer Reviews List:
>
> <mx:List
>
dataProvider="{aws.ItemLookup.result.Items.Item.Cu
> stomerReviews.Review}"
>
cellRenderer="CustomerReviewsCellRenderer"
variableRowHeight="true"
> wordWrap="true"
width="100%" height="100%"/>
>
>
> Customer Reviews List Cell Renderer:
>
> <mx:Script>
> <![CDATA[
>
[Embed(source="images/stars-0-0.gif")]
> var
stars00:String;
>
[Embed(source="images/stars-0-5.gif")]
> var
stars05:String;
>
[Embed(source="images/stars-1-0.gif")]
> var
stars10:String;
> <!--
and so forth -->
>
> function
setValue(str:String, item:Object, sel:String) {
>
if (item==undefined) {
>
visible = false;
>
return;
>
} else {
>
switch (item.Rating) {
>
case 0 : stars.source=stars00; break;
>
case 0.5 : stars.source=stars05; break;
>
case 1 : stars.source=stars10; break;
>
<!-- and so forth -->
>
}
>
>
summary.text=item.Summary;
>
review.htmlText=item.Content;
>
visible=true;
>
}
> }
> ]]>
> </mx:Script>
>
> <mx:HBox>
>
<mx:Image id="stars" width="64"
height="12"/>
>
<mx:Label id="summary" styleName="productTitle"/>
> </mx:HBox>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
>
>
>
>
> SPONSORED LINKS
>
> Computer software testing
> <http://groups.yahoo.com/gads?
t=ms&k=Computer+software+testing&w1=Comput
>
er+software+testing&w2=Macromedia+flex&w3=Development&w4=Software+deve
lo
>
per&c=4&s=93&.sig=kh2CguJwmatU5oBXjFo9Rg>
>
> Macromedia flex
> <http://groups.yahoo.com/gads?
t=ms&k=Macromedia+flex&w1=Computer+softwar
>
e+testing&w2=Macromedia+flex&w3=Development&w4=Software+developer&c=4&
s=
> 93&.sig=dAUcEV7do91-wrRtVS641g>
>
> Development
> <http://groups.yahoo.com/gads?
t=ms&k=Development&w1=Computer+software+te
>
sting&w2=Macromedia+flex&w3=Development&w4=Software+developer&c=4&s=93
&.
> sig=AlxNUQBOI7Io7S7nhmxV0Q>
>
> Software developer
> <http://groups.yahoo.com/gads?
t=ms&k=Software+developer&w1=Computer+soft
>
ware+testing&w2=Macromedia+flex&w3=Development&w4=Software+developer&c
=4
> &s=93&.sig=QWIit8JayomoIHLVkV3FDg>
>
>
>
>
>
>
>
> ________________________________
>
> YAHOO! GROUPS LINKS
>
>
>
> * Visit your
group "flexcoders
> <http://groups.yahoo.com/group/flexcoders>
" on the web.
>
> * To unsubscribe
from this group, send an email to:
>
[EMAIL PROTECTED]
>
<mailto:[EMAIL PROTECTED]>
>
> * Your use of
Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/>
.
>
>
>
> ________________________________
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
YAHOO! GROUPS LINKS