|
Rank: Newbie Groups: Member
Joined: 6/16/2007 Posts: 8
|
TreeView
With RaisesServerEvent set to True, the TreeView.ItemCheckStateChanged event is not called.
The following is the routine associated with the TreeView.ItemCheckStateChanged Event
Protected Sub TreeView1_ItemCheckStateChanged(ByVal sender As Object, ByVal e As EO.Web.TreeNodeCheckStateChangedEventArgs) Handles TreeView1.ItemCheckStateChanged
If e.Node.IsLeafNode Then If e.OldCheckState = False Then NewsItemDB.addNewsSubject(NewsItem.ID, e.Node.ItemID) Else NewsItemDB.deleteNewsSubject(NewsItem.ID, e.Node.ItemID) End If End If
End Sub
Michael
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi Michael,
Thanks for posting your question here. We will look into it and see what we can find.
Thanks
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi Michael,
This issue is now fixed. Please download the latest build (2007.1.20) from our download page and let us know how it goes!
Thanks
|
|
Rank: Newbie Groups: Member
Joined: 6/16/2007 Posts: 8
|
I have applied version 2007.1.20 and with no success.
The following is the control object definition:
<eo:TreeView id="TreeView1" runat="server" Width="495px" Height="500px" ControlSkinID="None" AutoCheckChildren="True" AutoUncheckChildren="True" RaisesServerEvent="True" TargetWindow="_new" SaveStateCrossPages="True" StateCookieName="Subjects"> <CheckBoxImages Margin="3" Visible="True"></CheckBoxImages> <LookNodes><eo:TreeNode ExpandedImageUrl="00030302" ItemID="_Default" SelectedStyle-CssText="background-color:#316ac5;border-bottom-color:#999999;border-bottom-style:solid;border-bottom-width:1px;border-left-color:#999999;border-left-style:solid;border-left-width:1px;border-right-color:#999999;border-right-style:solid;border-right-width:1px;border-top-color:#999999;border-top-style:solid;border-top-width:1px;color:White;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;" NormalStyle-CssText="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; COLOR: black; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: transparent; BORDER-BOTTOM-STYLE: none" DisabledStyle-CssText="background-color:transparent;border-bottom-style:none;border-left-style:none;border-right-style:none;border-top-style:none;color:Gray;padding-bottom:1px;padding-left:1px;padding-right:1px;padding-top:1px;" CollapsedImageUrl="00030301" ImageUrl="00030301"> <SubGroup ShowCheckBox="True"></SubGroup> </eo:TreeNode>
And the following is the routine that is raised by the changecheckstate event:
Protected Sub TreeView1_ItemCheckStateChanged(ByVal sender As Object, ByVal e As EO.Web.TreeNodeCheckStateChangedEventArgs) Handles TreeView1.ItemCheckStateChanged
NewsItem = NewsItemDB.selectNewsItem(Request.QueryString("id"))
If e.Node.IsLeafNode Then If e.OldCheckState = False Then NewsItemDB.addNewsSubject(NewsItem.ID, e.Node.ItemID) Else NewsItemDB.deleteNewsSubject(NewsItem.ID, e.Node.ItemID) End If End If
End Sub
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
hi, Michael Hmmm, looks like it still has some problem. I tried the same code and TreeView1_ItemCheckStateChanged won't get called until you click that item. I checked the checkbox of an item, nothing was post back to server. Then I click the item, I noticed on server side, TreeView1_ItemCheckStateChanged gets fired first, and then TreeView1_ItemClick. I will check with our engineers and see if this is the way they designed or it is a bug. Thanks for your report and have a nice holiday EO Support Team
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi Michael,
We have verified that ItemCheckStateChanged is a delayed event. Clicking the check box will not fire the event immediately. Instead it waits until the page is posted back and then fires the event. However the event DOES get fired when the page posts back. Please verify whether this is your case.
Thanks
|
|
Rank: Newbie Groups: Member
Joined: 6/16/2007 Posts: 8
|
Yes it does fire when the page is posted back. I had previously used my own AJAX type implementation on my own tree implementations to call a procedure on the server which updated immediatly when the checkbox was ticked. A lot of users have got used to this effect and forget to click on the Save button to force a post back. I will need to find to way to work around this one. Thanks, Michael
|
|