vuyiswamb 17 Posting Whiz

Good Day All

i have Successfully binded the Telerik Schedular from Objects and its looking Good. Now i have to Bind the same results but in hierachial form. Please note that i am using Telerik Grid and the implementation is the same as asp.net Gridview. i need someone to Guide me to do a hierachy grid from objects , please if you send an example code , add comments so that i can understand the logic

private void BindViewer() 
  { 
      VS.ViewerService obj = new VS.ViewerService(); 
      String SessionKey = obj.newSession(); 
      DateTime Date1 = Convert.ToDateTime("1980-01-01"); 
      DateTime Date2 = Convert.ToDateTime("2012-12-31"); 
      VS.extract extract = obj.getObjects(SessionKey, "Butt", Date1, false, Date2, false, "", ""); 
      try
      { 
          RadPanelBar1.Items.Clear(); 
          RadScheduler1.Appointments.Clear(); 
          int Len = extract.set.Length; 
          for (int i = 0; i < Len; i++) 
          { 
              VS.vertex value = extract.set[i]; 
              String PanelClass = value.meta; 
              PanelClass = PanelClass.Replace(Remstr, ""); 
              PanelClass = PanelClass.Replace(Remstr2, ""); 
              Appointment app = null; 
              if (value.atom != null) 
              { 
                  RadPanelItem pane = RadPanelBar1.Items.FindItemByText(PanelClass); 
                  if (pane == null) 
                  { 
                      RadPanelItem nwpane = new Telerik.Web.UI.RadPanelItem(PanelClass); 
                      RadPanelItem nwpaneSpliter = new Telerik.Web.UI.RadPanelItem(PanelClass); 
                      nwpaneSpliter.IsSeparator = true; 
                      RadPanelBar1.Items.Add(nwpane); 
                      pane = nwpane; 
                  } 
                  if (value.meta == "za.co.abacus.C_EVENT") 
                  { 
                      app = new Appointment(); 
                  } 
                  int atomLen = value.atom.Length; 
                  for (int j = 0; j < atomLen; j++) 
                  { 
                      VS.atom atm = value.atom[j]; 
                      if (atm.meta.Contains("za.co.reactor.A_LABEL")) 
                      { 
                          RadPanelItem NewItem = new RadPanelItem(atm.content); 
                          pane.Items.Add(NewItem); 
                          if (app != null) 
                          { 
                              app.Subject = atm.content; 
                              app.Description = atm.content; 
                              app.ID = value.key; 
                          } 
                      } 
                      if (app != null && atm.meta.Contains("za.co.abacus.C_EVENT")) 
                      { 
                          app.ID = atm.content; 
                      } 
                      if (app != null && atm.meta.Contains("za.co.reactor.A_HORIZON")) 
                      { 
                          app.Start = Convert.ToDateTime(atm.content); 
                      } 
                      if (app != null && atm.meta.Contains("za.co.reactor.AA_HORIZON")) 
                      { 
                          app.End = Convert.ToDateTime(atm.content); 
                      } 
                      if (app != null && atm.meta.Contains("za.co.reactor.A_TEXT")) 
                      { 
                          app.Description = atm.content; 
                      } 
                      if (app != null && atm.meta.Contains("za.co.reactor.A_TEXT")) 
                      { 
                          app.RecurrenceRule = atm.content; 
                      } 
                      if (app != null && app.End > app.Start) 
                      { 
                          RadScheduler1.DataStartField = app.Start.ToString(); 
                          RadScheduler1.DataSubjectField = app.Subject.ToString(); 
                          RadScheduler1.DataEndField = app.End.ToString(); 
                          RadScheduler1.DataKeyField = app.ID.ToString(); 
                          RadScheduler1.SelectedView = SchedulerViewType.MonthView; 
                          RadScheduler1.SelectedDate = app.Start; 
                          SlidingZone1.ExpandedPaneId = "RadSlidingPane1"; 
                     
                      } 
                  } 
              } 
          } 
      } 
      catch (ApplicationException ex) 
      { 
      } 
      finally
      { 
          obj.closeSession(SessionKey); 
      } 
  }

Now with the same results i want to bind a Hierachy Grid as it Shows in my attached image
[IMG]http://www.telerik.com/ClientsFiles/211914_hierachygridview.JPG[/IMG]

. I am using EAV that means the is no Fixed Column name, so the Binding of the Grid Should be Dynamically.


Thank you

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.