Terry Bottorff
|
|
Group: Forum Members
Posts: 448,
Visits: 12K
|
If EventEntriesRodeoBO1.MoveFirst Then
For Each loRodeo As EventEntriesRodeoBO In Me.EventEntriesRodeoBO1.GetEnumerable
Select Case EventEntriesRodeoBO1.eventCD
Case "BB"
ContestantsRodeoBO1.EventBB = EventEntriesRodeoBO1.eventCD
Case "BR"
ContestantsRodeoBO1.EventBR = EventEntriesRodeoBO1.eventCD
End Select
Next
End If
ContestantsRodeoBO1.Save()ContestantsRodeoBO1.Save()
I am trying to iterate thru the parent(evententriesrodeobo1) and update a column in the child(contestantrodeobo1). This code is called from the click of a button on a form. Please note the attached screenshots. The parent child relationship works on the form so what am I missing in the code? I have traced the code and it seems to be doing what I need it to do except the data does not end up in the child in the database????? I must be brain dead since this seems to be trivial BUT.?????? TIA
|
|
|
Terry Bottorff
|
|
Group: Forum Members
Posts: 448,
Visits: 12K
|
As a follow up. Unless I put the following code after the For each lorodeo
Me.ContestantsRodeoBO1.FillByParentPrimaryKey(loRodeo.contestantId)
Nothing gets updated at all no matter where I put the save. Does that mean my parent child is not working? It does work on the form with the toolstrip.
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Well it is not going to be easy to figure out without a sample, but the Me.EventEntriesRodeoBO1 BO should have been already filled and filtered using Me.ContestantsRodeoBO1.FillByParentPrimaryKey(loRodeo.contestantId) but again, that should not affect the FOR loop since. Just to be clear, the child BO Me.EventEntriesRodeoBO1 should already have all the records related to the parent before going to the FOR loop. I usually put the FillByParentprimaryKey() in the Navigated event of the parent BO. If still does not work, see if you can build a quick sample using the SF sample database. I have done that many times and in a more difficult way using the BO.Filter() which is very powerful and dangerous if you are not focus.
Edhy Rijo
|
|
|
Terry Bottorff
|
|
Group: Forum Members
Posts: 448,
Visits: 12K
|
This Child BO is the ContestantsRodeoBO and the parent is the EventEntriesRodeoBO. I was trying to put the Me.ContestantsRodeoBO1.FillByParentPrimaryKey(loRodeo.contestantId) in the navigated of the EventEntriesRodeoBO but of course it knows nothing about the object loRodeo. I tried a couple of other combinations but can not seem to get how to get all the references correct. This was the last try but not working? Remember the parent is Event.... and the child is contestant......
Private Sub EventEntriesRodeoBO_Navigated(ByVal e As MicroFour.StrataFrame.Business.NavigatedEventArgs) Handles MyBase.Navigated
ContestantsRodeoBO.FillByParentPrimaryKey(Me.contestantId)
End Sub
Thanks for any help.
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
Here's what I would do (C#, sorry):
foreach (EventEntriesRoderBO loRodeo in EventEntriesRodeoBO1.GetEnumerable())
{
. ContestantsRodeoBO loContestants = new ContestantsRodeoBO();
. loContestants.FillByParentPrimaryKey(loRodeo.contestantID);
. if (loContestants.Count > 0)
. {
. loContestants.Edit(); 'per Edhy, this is not necessary...just showing it for clarity
. switch (loRodeo.eventCD)
. {
. case "BB":
. loContestants.EventBB = loRodeo.eventCD;
. break;
. case ...
. }
. loContestants.Save();
. }
}
I find it a lot easier to manually handle the filling of child BOs. I often get lost in the automated attempts to do so. Hope this helps, Bill
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
If anyone knows how to get the code spacing/indentation to work properly, please let me know. I tried placing a period at the beginning of each line, but all of the spacing following it was whacked. Sorry for the poor indentation. Hope you can still read it.
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
I just use html non-breaking space code: ampersand nbsp;
Be sure to copy the content as these are removed if you preview the post.
I'd love to know if there is an easier way.
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
This is what I do: I usually just edit the code in a .txt file with Notepad Than I copy it from there to the browser If I want to copy code from VS I copy it to the .txt file too first And then copy it from there to the browser And this usually works fine Hope it helps
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
Hmmm....this didn't work for me. I typed in some text into notepad, selected all, copied into codesnippet (tried a quote too)...indentation was lost. You have some fancy-mancy notepad?
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Oh, never thought of that... I use Notepad2.exe ( http://www.flos-freeware.ch/notepad2.html). It was recommended to me by Sir Steve Taylor.
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
I just tried out notepad2 and it's not keeping tabs/extra spaces either. Could there be some setting I'm missing? Or maybe this works with Vista/Win7 and not XP?
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
I went the notepad2 route, also. Here is my pasting of code from notepad2 which was originally from VS2k8:
public partial class Invoicing_Export : Aspire.UI.Windows.Forms.AspireBaseForm
{
public Invoicing_Export()
{
InitializeComponent();
}
}
How does that look?
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
Not so good... I am on W7 64bit.
public partial class Invoicing_Export : Aspire.UI.Windows.Forms.AspireBaseForm
{
public Invoicing_Export()
{
InitializeComponent();
}
}
This is the same code with the non-breaking spaces included.
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
I can sell copies of mine... non-refundable.
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
Oh, I bet I know the diff. Yours is probably in Portuguese.
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
|
|
|
Terry Bottorff
|
|
Group: Forum Members
Posts: 448,
Visits: 12K
|
I want to thank everyone for their help on my parent - child problem. It was great help and I learned a great deal. Thanks again I have it working and I understand how to do it next time.
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
This is a great community out here. Thanks for all of your contributions!
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
Related to formatting code in the forum. I just found another method. Not as pretty as using Ivan's Portuguese Notepad2, but it saves having to use non-breaking spaces. just put <pre> tags just inside the codesnippet tags. This also doesn't completely fubar your formatting if you use preview. //-- code just typed in via forum editor
public class BetterForumEditing : SF.WickedCoolEditor
public BetterForumEditing()
{
this.Property1 = "No reason to set this here...";
}
} As you can see, it indents nicely, but there lines are spaces a bit far apart. Not sure which I like best: using non-breaking spaces, using the <pre> tag (which also works without codesnippet too) or learning Portuguese.
|
|
|