Does this make sense to anyone....
As I continuously change and test this problem I became suspicious
that what was happening was that the repetition was determining which
item in the array I was selecting based on the dayName attribute
instead of the eo address, which I know sounds absurd. Meanwhile, my
theory was based on the behavior that when selecting Sunday from week
2 the repetition would think I picked Sunday from week 1, so it was
just finding the first Sunday in the list. If there were 3 wks and I
picked Sunday week 3, it would probably still think I was picking
week 1 - frightening. So to test this theory, I appended the week
value to the dayName value while creating each day eo, then picked
Sunday week 2, and it worked! Why?? Shouldn't the mechanics of how
this works to determine which selection was made in the repetition be
based on the object address?
Any input from anyone would be really really great about now....
--Brian
On Apr 29, 2007, at 4:42 PM, Anthony Arthur wrote:
Thanks for your reply. Your second example best matches my object
graph. Here's more details using your illustration:
/////////////////////////////////////////////////
//
In my java class:
public ParentEOClass parentOfDay;
public Day dayItem;
public int weekDayIndex;
....
public WOComponent editDayAction() {
WOComponent nextPage = pageWithName("DayEditPage");
page.setDay(dayItem);
return page;
}
//
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//
In my wod definition:
WORepetition: WeekDays {
list = parentOfDay.toManyDays;
item = dayItem;
index = weekDayIndex;
}
WOString: DayName {
value = dayItem.value; //value returns a the week day name as a string
}
WOString: WeekNbr {
value = dayItem.week; //week returns either 1, 2, 3, or 4
}
WOSubmitButton: EditButton {
action = editDayAction;
}
//
/////////////////////////////////////////////////
So to answer your question:
>> if your days array is the second example what do you bind as
value? dayItem
dayItem is an eo instance contained in the to-many relationship
toManyDays on parentOfDay, and value (or weekDayName) can be bound
to any WOString element where I want to display the name of the
week day.
Since my last message, I have investigated more and this is what I
am finding. First, I incorrectly reported that the index was being
set correctly. It's not. So for example, if I click the edit
button for Sunday/Week 2, the index will equal 0 instead of 8.
Also, I implemented a set method for dayItem, instead of just
letting KVC set the ivar, so I could get a better idea of what
happens after I click the edit button. I would expect this set
method to be called for every eo in parentOfDay.toManyDays, which
it does, and it only iterates over the list once, but it makes 'n'
extra calls past the last item in the array, given my example of
selecting a day in week 2, depending on which day in week 2 I
select. So for example, if I select Monday/Week 2, my setter is
called for every day in week 1 & 2, Sunday-Saturday & Sunday-
Saturday, but then it is called 2 more times, first with Sunday
week 1 then Monday week 1, then edit page renders with Monday week
1 selected instead of Monday week 2 as I would expect. If I had
select Sunday Week 2, to edit, I get the same behavior except we
get one extra call to my setter. For Tuesday/Week 2, there would
be 3 extra calls, and so on...., however at the same time, using
NSLog in debug mode, I can see that the contents of the array bound
to the repetition, parentOfDay.toManyDays, only holds the 14 days I
would expect, no more.
Hope I am not getting too bogged down in the details here.
-b
On Apr 29, 2007, at 3:42 PM, Daniele Corti wrote:
2007/4/29, Anthony Arthur <[EMAIL PROTECTED]>:
Apologies if this has already been covered, but I can't find it. I
am trying to get other's insight on a problem I've never seen before,
and I've seen a lot.
I have an array of eos that represent days of the week. These days
are displayed vertically, with days bound to the repetition's list
and dayItem bound to item and a counter on the index binding. The
days could span 1, 2, 3, or 4 weeks and each day eo has a week
attribute that holds 1, 2, 3, or 4. The repetition builds rows in a
table showing weekday name, week #, and an edit button, among other
things. The edit button returns a separate page where certain
attributes of the selected day can be changed.
ok, maybe i'm not undestand it very well:
do you have:
days = {eo1={value=Monday, weeks={1,2}}, eo2={value=Tuesday,
week={1,2}},...,eo7={value={Sunday}, week={1,2}}}
or:
days = {eo1={value=Monday, week=1}, eo2={value= Tuesday,
week=1},...,eo7={value={Sunday}, week=1}, eo8={value=Monday,
week=2}... eo14={value=Sunday, week=2}}
?
Ok, here is what happens. Say I am displaying 2 weeks, or 14 days. I
click the edit button of a day in week 2, yet the eo in my edit page
is the same day in week 1. The edit button's action binding calls a
method with 3-4 lines of code that just creates the next page, passes
it the value bound to my item binding of the repetition, and return.
Ok, if your days array is the second example what do you bind as
value? dayItem?
The table displays properly, where the week # displays as I would
expect, meaning that week 2 is displayed with the row where I click
the edit button, but somehow when I click it, the variable bound to
item is pointing to the same day in week 1--WTF? Also, I checked my
index binding, and it has the correct value. So anyone got a clue.
I have burned an entire weekend on this, and would really like to
solve it and move on.
Thanks,
--Brian
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ( [email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/ildenae%
40gmail.com
This email sent to [EMAIL PROTECTED]
--
Daniele Corti
AIM: S0CR4TE5
Messenger: [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/tricpony%
40mac.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]