The data binding event in this code isn't working any longer. I was testing a custom node template and using the code from this page (add and edit templates Runtime), but then removed all the code specific to the custom node template. At that point, the data stopped binding. I have added the code back, moved all of it to another page, but the data binding event doesn't seem to fire. Even with all the test code from the linked page above in my page, if I set a breakpoint in the DataBinding function it never gets hit. If I manually place a RadTreeView on the .aspx page it will display, but anything set on the server side will not.
I have checked to make sure List used to populate the tree has data, and this line (radTree.DataSource = treeNodes) works correctly. But the databind is still failing.
Any suggestions?
Thanks,
Peter
| namespace FQRSurvey.Controls |
| { |
| public partial class TreeViewControl : System.Web.UI.UserControl |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (!this.Page.IsPostBack) |
| { |
| //load tree view |
| Survey survey = SurveyController.GetSurveyByID(new Guid("6C685FBA-1380-47B7-A911-DC89AF9479CF")); |
| CreateRadTree(survey, questionTree); |
| } |
| } |
| protected override void OnInit(EventArgs e) |
| { |
| questionTree.NodeTemplate = new SectionTemplate(); |
| //questionTree.NodeTemplate = new QuestionTemplate(); |
| //questionTree.NodeTemplate = new AnswerTemplate(); |
| base.OnInit(e); |
| } |
| protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) |
| { |
| RadTreeNode sourceNode = e.SourceDragNode; |
| RadTreeNode destNode = e.DestDragNode; |
| RadTreeViewDropPosition dropPosition = e.DropPosition; |
| if (destNode != null) |
| { |
| if (sourceNode.TreeView.SelectedNodes.Count <= 1) |
| { |
| if (!sourceNode.IsAncestorOf(destNode)) |
| { |
| sourceNode.Owner.Nodes.Remove(sourceNode); |
| destNode.Nodes.Add(sourceNode); |
| } |
| } |
| destNode.Expanded = true; |
| sourceNode.TreeView.ClearSelectedNodes(); |
| } |
| } |
| private void CreateRadTree(Survey survey, RadTreeView radTree) |
| { |
| radTree.NodeTemplate = new SectionTemplate(); |
| if (!survey.Sections.Count.Equals(0)) |
| { |
| List<TreeNode1> treeNodes = new List<TreeNode1>(); |
| Sections sections = survey.Sections; |
| //Loop through Sections |
| for (int i = 0; i < sections.Count; i++) |
| { |
| Section section = sections[i]; |
| //Create Section Node |
| TreeNode1 sNode = new TreeNode1(section.SectionID.ToString(), String.Empty, section.SectionTitle, section.SectionStatus); |
| treeNodes.Add(sNode); |
| //Get Questions |
| if (section.FirstQuestion != null) |
| { |
| Question q = section.FirstQuestion; |
| string prevNode = String.Empty; |
| if (q.PrevAnswer == null) prevNode = sNode.ID; |
| else prevNode = q.PrevAnswer.AnswerID.ToString(); |
| //Create Question Node |
| TreeNode1 qNode = new TreeNode1("q" + q.FriendlyID, prevNode, q.QuestionText, SurveyStatus.Active); |
| //Create Answer Group |
| treeNodes.Add(qNode); |
| } |
| } |
| radTree.DataTextField = "Text"; |
| radTree.DataFieldID = "ID"; |
| radTree.DataFieldParentID = "ParentID"; |
| radTree.DataSource = treeNodes; |
| radTree.DataBind(); |
| } |
| } |
| } |
| internal class TreeNode1 |
| { |
| private string _id; |
| private string _text; |
| private SurveyStatus _status; |
| private string _parentID; |
| public string ID |
| { |
| get { return _id; } |
| set { _id = value; } |
| } |
| public string ParentID |
| { |
| get { return _parentID; } |
| set { _parentID = value; } |
| } |
| public string Text |
| { |
| get { return _text; } |
| set { _text = value; } |
| } |
| public SurveyStatus Status |
| { |
| get { return _status; } |
| set { _status = value; } |
| } |
| public TreeNode1(string id, string parentID, string text, SurveyStatus status) |
| { |
| _id = id; |
| _text = text; |
| _status = status; |
| _parentID = parentID; |
| } |
| } |
| class SectionTemplate : ITemplate |
| { |
| public void InstantiateIn(Control container) |
| { |
| Label label1 = new Label(); |
| label1.Font.Size = 15; |
| label1.DataBinding += new EventHandler(label1_DataBinding); |
| container.Controls.Add(label1); |
| } |
| private void label1_DataBinding(object sender, EventArgs e) |
| { |
| Label target = (Label)sender; |
| RadTreeNode node = (RadTreeNode)target.BindingContainer; |
| string nodeText = (string)DataBinder.Eval(node, "Text"); |
| target.Text = nodeText; |
| } |
| } |
<telerik:RadToolBar ID="RadTool" runat="server" AutoPostBack="true" onbuttonclick="RadTool_ButtonClick" > <Items> <telerik:RadToolBarButton runat="server" Text="Edit"></telerik:RadToolBarButton><ItemTemplate><asp:CheckBox ID="CheckBox1" runat="server" /></ItemTemplate></telerik:RadToolBarButton></Items></telerik:RadToolBar>
Public Sub CheckBoxParent(ByVal sender As System.Object, ByVal e As System.EventArgs)For Each item As GridDataItem In rParent.Items Dim myCheckbox As CheckBox = DirectCast(item.FindControl("CheckBoxParent"), CheckBox) Dim hAttributeID As HiddenField = DirectCast(dataItem.FindControl("hAttributeID"), HiddenField) ' Child radGrid Dim dg As Telerik.Web.UI.RadGrid = item.FindControl("radChild") ' trying to Loop through each DataGridItem of the child grid For Each dgItem As GridDataItem In dg.Items NextNextEnd Sub<telerik:RadGrid id="rParent" runat="server" AllowMultiRowSelection="True"> <MasterTableView ShowHeader="true" AutoGenerateColumns="false"><Columns><telerik:GridTemplateColumn><HeaderTemplate></HeaderTemplate> <ItemTemplate> <asp:CheckBox id="CheckBoxParent" OnCheckedChanged="findScore"AutoPostBack="True" runat="server"></asp:CheckBox> <%# DataBinder.Eval(Container.DataItem, "KeyID") %><asp:HiddenField ID="hAttributeID" runat="Server" Value='<%# DataBinder.Eval(Container.DataItem, "AttributeID") %>' /> <telerik:RadGrid id="rChild" runat="server"> <MasterTableView ShowHeader="false" AutoGenerateColumns="false"> <Columns> <telerik:GridTemplateColumn> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Description") %> <%# DataBinder.Eval(Container.DataItem, "AttributeID") %> <asp:CheckBox id="CheckBoxChild" OnCheckedChanged="findScore"AutoPostBack="True" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <ClientSettings EnableRowHoverStyle="false" EnablePostBackOnRowClick="true" /> </telerik:RadGrid></ItemTemplate></telerik:GridTemplateColumn></Columns></MasterTableView></telerik:RadGrid>
Hi all,
i am facing problem to closing clorbox when record is successfully inserted, my scenerio is follows
i am currently working on web application and using asp.net, c# and jquery languages, i have designed registration form and open into iframe so i have palced all input fields which is required in registration process like username, email, password etc. it is working fine when i am clicking on user registration anchor than register.aspx page is open in lightbox or popup window but light box not closed when user is successfully inserted. so how can i close it on successfully record insertion rather than cliking on close button.
i have also tried to close write this line $.colorbox.close(); on register.aspx page on submit click but it is not working ..
kindly helpout me.
i have written following code to open light box and this is URL which i have implement in my project
URL::::: http://jacklmoore.com/colorbox/
<asp:Content ID="Content2" ContentPlaceHolderID="cph_body" runat="server"> <link href="../Styles/colorbox.css" rel="stylesheet" type="text/css" /> <script src="../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> <script src="../Scripts/jquery.colorbox.js" type="text/javascript"></script> <div class="content-body"> <div style="padding-bottom: 10px;"> <a class='UserRegistration' href="Register.aspx" title="User Registration"><span> New User Registred Here</span></a> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function () { jQuery(".UserRegistration").colorbox({ iframe: true, width: "580", height: "480", onClosed: function () { location.reload(true); } }); jQuery("#cboxClose").click(function () { location.reload(); }); }); function CloseColorBox() { $.colorbox.close(); location.reload(); } </script></asp:Content>