﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » WinForms (How do I?)  » Beta 1.6.5.1: ListView enhanced features....</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Mon, 08 Jun 2026 21:33:39 GMT</lastBuildDate><ttl>20</ttl><item><title>Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost15732.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;First, thanks for all the enhancements done to the ListView, very impressive :)&lt;/P&gt;&lt;P&gt;I setup a form to test the ListView and found the following issues:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Moving the record pointer in the ToolStrip button does not update/refresh the ListView.&lt;/LI&gt;&lt;LI&gt;Creating a new record or modifying an existing one does not Refresh the ListView with the updated data.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I tested the functionality of the Add/Delete/Edit Objects and they all worked as expected.&amp;nbsp; &lt;/P&gt;&lt;P&gt;One question, when using the ListView&amp;nbsp;with a&amp;nbsp;child BO, I may need to have buttons for Save/Undo if not using a childform object, would you consider adding a SaveObject/UndoObject as well for this case?&lt;/P&gt;&lt;P&gt;Please take a loot at the video in this link:&amp;nbsp; &lt;A href="http://www.progytech.com/videos/Beta_ListView\Beta_ListView.html"&gt;http://www.progytech.com/videos/Beta_ListView\Beta_ListView.html&lt;/A&gt;</description><pubDate>Wed, 24 Sep 2008 09:29:17 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost19660.aspx</link><description>Excellent!&amp;nbsp; this much more than what I asked.&lt;P&gt;Thanks :P</description><pubDate>Wed, 24 Sep 2008 09:29:17 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost19657.aspx</link><description>Done, it will be in the next update.&amp;nbsp; We will post a 1.6.7 beta build in the next week or two, but this will be included.&amp;nbsp; Here is the update:&lt;/P&gt;&lt;P&gt;[codesnippet]The ListView BeforeChildFormExecuted event now has a CancelAction parm on the event argument which allows several options.&amp;nbsp; None, which would continue as normal, cancel the ChildFormDialog execution only, or cancel the dialog execution and undo any data changes related to the currently executed action (i.e. if adding a new record the new record would not be added).&amp;nbsp; This gives the best of all worlds in regards to the potential needs to cancelling an automated ChildFormDialog execution.[/codesnippet]</description><pubDate>Wed, 24 Sep 2008 09:15:40 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost19646.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;[quote][b]Trent L. Taylor (06/24/2008)[/b][hr]Oh, I suppose we could add a cancel parm.&amp;nbsp; It was created so that there could be a centralized localization for pre-child form initialization code.&amp;nbsp; Technically the action is already in progress (Delete would actually never hit this event).&amp;nbsp; So either an Add or Edit will already be in progress.&amp;nbsp; Adding a cancel shouldn't be too big of a deal, so I will add this to the list.[/quote]&lt;/P&gt;&lt;P&gt;I really have the need to be able to cancel out showing the childform dialog from the listview &lt;FONT size=2&gt;BeforeChildFormExecuted, I have not find a way to do this in a form without having to have all the listview code in the form to manage it.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Have you consider adding an e.Cancel parameter?&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 23 Sep 2008 15:05:51 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost18646.aspx</link><description>I think the ListViewBeforeChildExecuteEventArgs event would be a good place to add extra params to send to the Child Form.</description><pubDate>Thu, 21 Aug 2008 05:22:26 GMT</pubDate><dc:creator>Guillermo Vilas</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost17288.aspx</link><description>Oh, I suppose we could add a cancel parm.&amp;nbsp; It was created so that there could be a centralized localization for pre-child form initialization code.&amp;nbsp; Technically the action is already in progress (Delete would actually never hit this event).&amp;nbsp; So either an Add or Edit will already be in progress.&amp;nbsp; Adding a cancel shouldn't be too big of a deal, so I will add this to the list.</description><pubDate>Tue, 24 Jun 2008 09:44:15 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost17280.aspx</link><description>Hi Trent, &lt;P&gt;In the latest update 1.6.6 a new event &lt;FONT size=2&gt;BeforeChildFormExecuted was added to the ListView control.&amp;nbsp; I noticed that in the ListViewBeforeChildExecuteEventArgs there is no Cancel property to cancel any action handled by the ListView control.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Would it be necessary to add the e.Cancel property, or is there any other way to abort any of the 3 actions allow in the ListView (Add/Edit/Delete)?&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 24 Jun 2008 08:24:39 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16551.aspx</link><description>Just call the CheckRules method, not the CheckRulesOnRow.&amp;nbsp; For example:&lt;P&gt;[codesnippet]If MyBo.CheckRules(True) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DialogResult = OK&lt;BR&gt;End If[/codesnippet]&lt;/P&gt;&lt;P&gt;All of the error providers will then work, however, the InfoBox will not appear and this is by design.&amp;nbsp; That logic is placed in the Save() of the BaseForm and creates a collection list...however, you can add this yourself very easily in your BaseBO.&amp;nbsp; Just handle the BusinessRulesChecked event of the BaseBO, and you will probably want to have a property that determines if the InfoBox will be shown when there are broken rules (this too would be on your BaseBo).&amp;nbsp; The only other property that you may consider adding or testing for is the parent form (or which ever form you may want the InfoBox to show within).&amp;nbsp; But you would then call the InfoBox like this:&lt;/P&gt;&lt;P&gt;[codesnippet]If e.CountOfBrokenRulesAdditionalRows &amp;gt; 0 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InfoBox.ErrorBox(...)&lt;BR&gt;Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InfoBox.ErrorBox(...)&lt;BR&gt;End If[/codesnippet]&lt;P&gt;You can look at the BaseForm in the Business assembly of the source to see what we do in that dialog.</description><pubDate>Fri, 23 May 2008 10:02:06 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16545.aspx</link><description>Trent,&lt;P&gt;Refactoring my child forms,&amp;nbsp;i have a situation with my current code in the ChildForm Save button:&lt;/P&gt;&lt;P&gt;[quote][codesnippet]&lt;FONT size=2&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;FONT size=2&gt; cmdSave_Click(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; sender &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; System.Object, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; System.EventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;FONT size=2&gt; cmdSave.Click&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Use the form' Save method to force the Broken Rules to be check and show the Broken Rule InfoBox if needed.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;If&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Save() &amp;lt;&amp;gt; MicroFour.StrataFrame.Data.SaveUndoResult.Success &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Exit&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;ElseIf&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Save() = MicroFour.StrataFrame.Data.SaveUndoResult.Success &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.DialogResult = Windows.Forms.DialogResult.OK&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.PolicyBO1.Undo(MicroFour.StrataFrame.Business.BusinessUndoType.CurrentRowOnly)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.DialogResult = Windows.Forms.DialogResult.Cancel&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet][/quote]&lt;/P&gt;&lt;P&gt;As you can see, I am using the Form's Save() to force the Broken Rules check and show the InfoBox.&amp;nbsp; But intent to refactor it to simply check for broken rules and return a DialogResult.OK as it should be.&lt;/P&gt;&lt;P&gt;In the CustomerNodeEditor form this code is being used for the same reason:&lt;/P&gt;&lt;P&gt;[quote][codesnippet]&lt;FONT size=2&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;FONT size=2&gt; cmdSave_Click(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; sender &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Object&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; EventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;FONT size=2&gt; cmdSave.Click&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Check the rules on the business object. We are not going to save&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- until we get all the way back to the parent form. A save could&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- be executed here if necessary, however, since this is a child&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- form, the parent form usually controls the saves. The true&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- will show the InfoBox error window if the rules are broken.&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;If&lt;/FONT&gt;&lt;FONT size=2&gt; CustomerNotes.CheckRulesOnRow(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;True&lt;/FONT&gt;&lt;FONT size=2&gt;) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.DialogResult = System.Windows.Forms.DialogResult.OK&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet][/quote]&lt;/P&gt;&lt;P&gt;The CheckRulesOnRow(True) is not working in a sense that is not showing the required fields nor showing the InfoBox to inform the user that there is a problem with that record, but it is not entering the IF condition which mean that it is partially working.&lt;/P&gt;&lt;P&gt;How can I deal with this situation since in all my ChildForms I need to check for broken rules defined in the BO class?</description><pubDate>Thu, 22 May 2008 14:31:59 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16543.aspx</link><description>Really, we didn't even do that in VFP (bad word, I know :D).&amp;nbsp; We used table buffering and didn't commit the changes until down stream.&amp;nbsp; Granted, it was nowhere as clean as using the BOs and disconnected data, but the concept was really the same.</description><pubDate>Thu, 22 May 2008 13:02:22 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16538.aspx</link><description>Hi Trent, &lt;P&gt;After your post, I when to check the SF Samples and after reviewing the ChildDialogFormSample.sln I think I now have a better understanding of this concept of drilling down child forms and having control of all the savings from a single point.&amp;nbsp; &lt;/P&gt;&lt;P&gt;I must admit that it still scares me a bit :cool: drilling down several child forms without saving and potentially undo some data that the end user may not wanted to undo, but I guess is just a matter of understanding the design purpose of the ChildFormDialog control.&lt;/P&gt;&lt;P&gt;I'll keep you posted :hehe:</description><pubDate>Thu, 22 May 2008 11:32:13 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16526.aspx</link><description>[quote]So basically all child BO should be Saved when clicking the Save button in the Parent Form?[/quote]&lt;/P&gt;&lt;P&gt;Yes.&amp;nbsp; All Save and Undo logic should occur from a single point (not the child form :) ) but the most common place would be the Parent form or container.&lt;/P&gt;&lt;P&gt;[quote]I guess that if I select Undo from the toolbar that all child data will be undoed?[/quote]&lt;/P&gt;&lt;P&gt;Yup...you got it :)</description><pubDate>Wed, 21 May 2008 22:16:58 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16525.aspx</link><description>[quote][b]Trent L. Taylor (05/21/2008)[/b][hr]In one maintenance form that I recently finished, I have 11 child and grandchild records that could be created on a new record without ever first requiring a parent record to first be saved.&amp;nbsp; So that is the first thing I would rework versus forcing the save of the parent.[/quote]&lt;UL&gt;&lt;LI&gt;So basically all child BO should be Saved when clicking the Save button in the Parent Form?&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;I guess that if I select Undo from the toolbar that all child data will be undoed?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Guess I am still thinking as a VFP developer :D</description><pubDate>Wed, 21 May 2008 20:03:11 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16523.aspx</link><description>[quote]Point taken, then where to put the save code then?&amp;nbsp; In the ChildForm I am making a reference to the ParentBO PK field value which will be -1 if not saved and brake the code.&amp;nbsp; Any suggestion?[/quote]&lt;/P&gt;&lt;P&gt;This is the whole point of a parent relationship.&amp;nbsp; You SHOULD be able to create a child record on a parent that doesn't yet have a PK yet.&amp;nbsp; SF will automatically persist the parent's PK to the child once the parent gets a PK.&amp;nbsp; So you should be saving these records at the same time.&amp;nbsp; It isn't fair to require the end-user to save a parent record before a child gets created.&amp;nbsp; All of this should be able to be done at the same time.&lt;/P&gt;&lt;P&gt;In one maintenance form that I recently finished, I have 11 child and grandchild records that could be created on a new record without ever first requiring a parent record to first be saved.&amp;nbsp; So that is the first thing I would rework versus forcing the save of the parent.</description><pubDate>Wed, 21 May 2008 19:35:04 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16522.aspx</link><description>[quote][b]Trent L. Taylor (05/21/2008)[/b][hr]...and FYI...saving within that event could come back and slap you at some point...this is generally never a good idea.[/quote]&lt;P&gt;Point taken, then where to put the save code then?&amp;nbsp; In the ChildForm I am making a reference to the ParentBO PK field value which will be -1 if not saved and brake the code.&amp;nbsp; Any suggestion?&lt;/P&gt;&lt;P&gt;[quote]So However, it might not be a bad idea to have a BeforeShowChildDialog event on the ListView so that you could cancel it if you like.[/quote]&lt;P&gt;That sounds good. :hehe:</description><pubDate>Wed, 21 May 2008 18:09:11 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16519.aspx</link><description>That cancel flag doesn't logically tie into the BOs BeforeAddNew...so the cancel will not have any affect in this case.&amp;nbsp; That Cancel only has to do with adding a new row to the BO...and FYI...saving within that event could come back and slap you at some point...this is generally never a good idea.&lt;/P&gt;&lt;P&gt;However, it might not be a bad idea to have a BeforeShowChildDialog event on the ListView so that you could cancel it if you like.</description><pubDate>Wed, 21 May 2008 17:09:56 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16510.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;I have another situation with the ListView, I guess :D&lt;/P&gt;&lt;P&gt;I am using the HandleAddAction = True to let the ListView calling the ChildForm when adding.&amp;nbsp; I added the code below to cancel the Adding if the Save() of the parent BO is not Success, but even though I am setting the e.Cancel = True, the ChildForm is being shown.&amp;nbsp; Am I using the correct logic here?&lt;/P&gt;&lt;P&gt;[quote][codesnippet]&lt;FONT size=2&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;FONT size=2&gt; Child_PolicyBO1_BeforeAddNew(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; MicroFour.StrataFrame.Business.BeforeAddNewEventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;FONT size=2&gt; Child_PolicyBO1.BeforeAddNew&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.InsuredCustomerBO1.IsDirty &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Save() &amp;lt;&amp;gt; MicroFour.StrataFrame.Data.SaveUndoResult.Success &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;e.Cancel = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;True&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet][/quote]&lt;/P&gt;&lt;P&gt;P.S.&lt;/P&gt;&lt;P&gt;FYI, since the ListView enhancements are still in beta, I keep posting in this thread to keep everything related to this in one place, if you prefer I can post this kind of stuff in a separate thread.</description><pubDate>Wed, 21 May 2008 13:56:52 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16212.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;[quote]Just because you get an error to go away doesn't mean that the problem is fixed.[/quote]&lt;/P&gt;&lt;P&gt;I do understand what you are saying and&amp;nbsp;respect&amp;nbsp;your policies.&amp;nbsp; But so we are in the same page here let me clarify the problem&amp;nbsp;a little bit:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The ListView enhancement is in beta and I am using this control a lot.&lt;/LI&gt;&lt;LI&gt;When testing the Delete functionality I noticed that the record was only marked as deleted, and could not find a way to change this behavior without disabling the HandleDeleteAction and adding a custom code for all ListView used in this form.&lt;/LI&gt;&lt;LI&gt;Since the mark as deleted will required a call to the BO.Save() to permanently delete the record, then I tried to do that and got the error&amp;nbsp;reported.&lt;/LI&gt;&lt;LI&gt;Based on the test you asked me to do, by calling the BO.&lt;FONT size=2&gt;DeleteCurrentRow(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;False&lt;/FONT&gt;&lt;FONT size=2&gt;) will work fine, then I make the suggestion to add the property to control how the DeleteCurrentRow will behave.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I am trying to move forward with this project and have not problem to take the time to investigate any problem, in fact I spend a lot of time in the forums before posting to try to get answers to my stituations, but I do really need to be ready to show this project to the customer anytime soon.&amp;nbsp; So for now I will simply add a common DeleteRecord method for my ListViews.:hehe:</description><pubDate>Tue, 06 May 2008 15:20:04 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16209.aspx</link><description>Edhy,&lt;/P&gt;&lt;P&gt;Let me just point out something when we address a problem...we first try to get to the source of an issue before we add a new feature.&amp;nbsp;&amp;nbsp; Just because you get an error to go away doesn't mean that the problem is fixed.&amp;nbsp; Adding a property is not big deal and I have no issue doing this at some point...so just because I don't immediately say, "I will go add this right now!" doesn't mean that it has no merit...it just means that it doesn't get to the crux of the issue.&lt;/P&gt;&lt;P&gt;If you look at your stack trace, something was trying to bind or pull from the CurrentRow...which could be related to the code in the ListView possibly and we may need to setup a test.&amp;nbsp; Thus I suggested the manual code change to see if something else arose.&amp;nbsp; I will see if I can reproduce the error, but until I prove the error, I will not add a property.&amp;nbsp; It is more important for me to understand why there was an error so that something else is not introduced versus just providing a fix that may prevent the error but we don't know why.</description><pubDate>Tue, 06 May 2008 14:54:58 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16203.aspx</link><description>I did the test as follow and it worked just fine, of course&amp;nbsp;passing the False to the DeleteCurrentRow() method does not requires me to Save() the record&amp;nbsp;:&lt;P&gt;[quote][codesnippet]&lt;FONT size=2&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;FONT size=2&gt; cmdDelete_Policy_Click(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; sender &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; System.Object, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; System.EventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;FONT size=2&gt; cmdDelete_Policy.Click&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- If no business object is attached then there is nothing to do&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;If&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Child_PolicyBO1 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Is&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Nothing&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Exit&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Ensure the the correct record is selected in case it had been moved by the developer&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Child_PolicyBO1.NavigateToPrimaryKey(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.lvPolicy.SelectedItems(0).Tag)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- If we are here, then delete the record&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Child_PolicyBO1.DeleteCurrentRow(&lt;FONT style="BACKGROUND-COLOR: #dddd33"&gt;&lt;STRONG&gt;False&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Requery this list&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;FONT size=2&gt;.lvPolicy.Requery()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet][/quote]&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Like I said before I think that a new&amp;nbsp;property in the ListView to flag&amp;nbsp;the&amp;nbsp;DeleteChildRecord()&amp;nbsp;as OnlyMarkAsDeleted or not, will take care of this situation and will not require us to add more code to the form whenever the ListView is used and the Delete action needs to be permanent.&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 06 May 2008 14:05:03 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16199.aspx</link><description>Your error has less to do with the delete than it does binding it would appear.&amp;nbsp; Something is trying to reference the CurrentRow property of the BO, thus the error.&lt;/P&gt;&lt;P&gt;To prove it, and to do this yourself, just set the HandleDeleteAction to false and manually delete the record...it should already be on the correct record, etc.&lt;/P&gt;&lt;P&gt;[codesnippet]MyBo.DeleteCurrentRow(False)[/codesnippet]</description><pubDate>Tue, 06 May 2008 13:49:38 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16190.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;The DeleteChildRecord() method of the ListView is marking the records as deleted which then will require a Save() to actually delete the record.&lt;/P&gt;&lt;P&gt;[codesnippet]&lt;FONT color=#008000 size=2&gt;&lt;/P&gt;&lt;P&gt;'-- If we are here, then delete the record&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;_BusinessObject.DeleteCurrentRow(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;True&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet]&lt;/P&gt;&lt;P&gt;In my form which uses 3 ListViews in the same fashion I have the need to permanently delete the record when the DeleteChildRecord() is being executed.&amp;nbsp; I tried adding code in the BO_&lt;FONT size=2&gt;AfterDelete() event to save this child BO but I am getting an error:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;[quote][codesnippet]&lt;FONT size=2&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;FONT size=2&gt; Child_PolicyBO1_AfterDelete(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;FONT size=2&gt; e &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; MicroFour.StrataFrame.Business.AfterDeleteEventArgs) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Handles&lt;/FONT&gt;&lt;FONT size=2&gt; Child_PolicyBO1.AfterDelete&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;/FONT&gt;&lt;FONT size=2&gt; e.RowsAffected &amp;gt; 0 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me&lt;/FONT&gt;&lt;FONT size=2&gt;.Child_PolicyBO1.Save()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet][/quote]&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;This is the error:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;[quote]BusinessLayerException&lt;BR&gt;&amp;nbsp; An error occurred while saving the data to the server.&lt;BR&gt;IndexOutOfRangeException&lt;BR&gt;&amp;nbsp; Index 0 is either negative or above rows count.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : MicroFour StrataFrame Business&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Stack Trace: &lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Data.DataView.GetRow(Int32 index)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Data.DataView.get_Item(Int32 recordIndex)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.get_CurrentRow()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.FilterChildRecords(BusinessLayer ChildBusinessObject)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.Save(Boolean Transactional, String TransactionKey)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.Save()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at IBS_UI.frmInsuredCustomer.Child_PolicyBO1_AfterDelete(AfterDeleteEventArgs e) in E:\Visual Studio 2008 Projects\StrataFrame\Insurance Broker System (SF)\UI\Main Forms\frmInsuredCustomer.vb:line 226&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.AfterDeleteEventHandler.Invoke(AfterDeleteEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.raise_AfterDelete(AfterDeleteEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.OnAfterDelete(AfterDeleteEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.DeleteCurrentRow(Boolean CheckSecurity, Boolean OnlyMarkAsDeleted)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.DeleteCurrentRow(Boolean OnlyMarkAsDeleted)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.UI.Windows.Forms.ListView.DeleteChildRecord()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.UI.Windows.Forms.ListView.HandleObjectClick(Object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ScrollableControl.WndProc(Message&amp;amp; m)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.ToolStrip.WndProc(Message&amp;amp; m)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNative&amp;#119;indow.OnMessage(Message&amp;amp; m)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.ControlNative&amp;#119;indow.WndProc(Message&amp;amp; m)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Native&amp;#119;indow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;BR&gt;[/quote]&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Where should I call the BO.Save() to permanent delete the record?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;P.S.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;I think that a new&amp;nbsp;property in the ListView to flag&amp;nbsp;the&amp;nbsp;DeleteChildRecord()&amp;nbsp;as OnlyMarkAsDeleted or not, may be an easy way to solve this.&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Tue, 06 May 2008 13:27:41 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16032.aspx</link><description>Thanks Trent.</description><pubDate>Wed, 30 Apr 2008 11:05:00 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16031.aspx</link><description>Sure, I just changed the UpdateObjectStates method to this:&lt;/P&gt;&lt;P&gt;[codesnippet]''' &amp;lt;summary&amp;gt;&lt;BR&gt;''' Updates the objects states based on the selected state of the list items and security&lt;BR&gt;''' &amp;lt;/summary&amp;gt;&lt;BR&gt;''' &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;BR&gt;Private Sub UpdateObjectStates()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Establish Locals&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim isSelected As Boolean = Me.SelectedItems.Count &amp;gt; 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim isAddAllowed As Boolean = HasPermission(_AddObjectSecurityKey)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Determine if additional logic should be performed to determine the add status&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (_BusinessObject IsNot Nothing) AndAlso _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (_BusinessObject.ParentBusinessObject IsNot Nothing) AndAlso _&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isAddAllowed Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isAddAllowed = _BusinessObject.ParentBusinessObject.Count &amp;gt; 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If _AddObject IsNot Nothing Then SetObjectEnabledState(_AddObject, isAddAllowed)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If _EditObject IsNot Nothing Then SetObjectEnabledState(_EditObject, isSelected AndAlso HasPermission(_EditObjectSecurityKey))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If _DeleteObject IsNot Nothing Then SetObjectEnabledState(_DeleteObject, isSelected AndAlso HasPermission(_DeleteObjectSecurityKey))&lt;BR&gt;End Sub[/codesnippet]</description><pubDate>Wed, 30 Apr 2008 10:50:24 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Beta 1.6.5.1: ListView enhanced features....</title><link>http://forum.strataframe.net/FindPost16030.aspx</link><description>[quote][b]Trent L. Taylor (04/30/2008)[/b][hr]Actually, I just tested it and it DOES fix the problem.[/quote]&lt;/P&gt;&lt;P&gt;Hi again,&lt;/P&gt;&lt;P&gt;Yes IT DOES WORK, sorry but my quick sample project was too quick :D and not setup properly, but after testin in my actual project it did work and then after adding all the missing setp in the quick project it also worked.&lt;/P&gt;&lt;P&gt;If you don't mind, could you tell me what was changed in the source code?</description><pubDate>Wed, 30 Apr 2008 10:40:45 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item></channel></rss>