or

| //temp way to rebind scheduler on the client |
| function refreshSchedulerClientSide() { |
| var scheduler = $find('RadScheduler1'); |
| scheduler.set_selectedDate(scheduler.get_selectedDate()); |
| } |
For example,
Node1
- SubNode1
- SubNode1.1
- SubNode2
- SubNode3
If I add new node for SubNode1, named SubNode1.1, the focus should be in SubNode1 and it should be expanded to see the new node added.
Any help is greatly appreciated.
Thanx in advance
ASD
| <rad:RadAjaxManager ID="AjaxManager" runat="server"> |
| <AjaxSettings> |
| <rad:AjaxSetting AjaxControlID="grdCustomerAssignments"> |
| <UpdatedControls> |
| <rad:AjaxUpdatedControl ControlID="grdCustomerAssignments" /> |
| </UpdatedControls> |
| </rad:AjaxSetting> |
| <rad:AjaxSetting AjaxControlID="grdCustomerAssignments"> |
| <UpdatedControls> |
| <rad:AjaxUpdatedControl ControlID="pnlDetails" /> |
| </UpdatedControls> |
| </rad:AjaxSetting> |
| </AjaxSettings> |
| </rad:RadAjaxManager> |
| <rad:RadGrid ID="grdCustomerAssignments" runat="server" Skin="WebBlue" AutoGenerateColumns="false" AllowMultiRowSelection="false" OnNeedDataSource="grdCustomerAssignments_NeedDataSource" OnSelectedIndexChanged="grdCustomerAssignments_SelectedIndexChanged"> |
| <ClientSettings EnablePostBackOnRowClick="true" > |
| <ClientEvents/> |
| <Scrolling AllowScroll="true" ScrollHeight="350" UseStaticHeaders="true" SaveScrollPosition="true" /> |
| <Selecting AllowRowSelect="true" /> |
| <Resizing AllowColumnResize="true" /> |
| </ClientSettings> |
| <MasterTableView DataKeyNames="ID" > |
| <HeaderStyle Wrap="false" HorizontalAlign="Center" VerticalAlign="Middle" Font-Bold="true" /> |
| <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Wrap="false" /> |
| <AlternatingItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Wrap="false" /> |
| <NoRecordsTemplate> |
| <div style="font-size:80%; color:Maroon;">No Items Were Found</div> |
| </NoRecordsTemplate> |
| </MasterTableView> |
| </rad:RadGrid> |
| <asp:Panel ID="pnlDetails" runat="server"> |
| <rad:RadTabStrip ID="tabStrip" runat="server" Align="Justify" AppendDataBoundItems="false" SelectedIndex="0" MultiPageID="multiPage" Skin="WebBlue"> |
| <Tabs></Tabs> |
| </rad:RadTabStrip> |
| <rad:RadMultiPage ID="multiPage" runat="server"></rad:RadMultiPage> |
| </asp:Panel> |
protected void Page_Init(object sender, EventArgs e) |
| { |
| GetAssignments(); |
| if (!IsPostBack) |
| AddColumnsToGrid(); |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| tabStrip.Tabs.Clear(); |
| multiPage.Controls.Clear(); |
| } |
| protected void Page_UnLoad(object sender, EventArgs e) |
| { |
| grdCustomerAssignments.MasterTableView.ClearSelectedItems(); |
| } |
| protected void grdCustomerAssignments_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) |
| { |
| grdCustomerAssignments.DataSource = Assignments; |
| } |
| protected void grdCustomerAssignments_SelectedIndexChanged(object sender, EventArgs e) |
| { |
| try |
| { |
| string id = ((RadGrid)sender).SelectedValue.ToString(); |
| DataRow dataRow = null; |
| foreach (DataRow row in Assignments.Rows) |
| { |
| if (row["ID"].ToString() == id) |
| dataRow = row; |
| } |
| PopulateAssignmentDetail(dataRow); |
| } |
| catch (Exception ex) |
| { |
| } |
| } |
| protected void PopulateAssignmentDetail(DataRow dataRow) |
| { |
| // just some code to add details to each tab. |
| } |
| protected void AddColumnsToGrid() |
| { |
| grdCustomerAssignments.MasterTableView.Columns.Clear(); |
| for (int i = 1; i < 7; i++) |
| { |
| DataColumn column = Assignments.Columns[i]; |
| if (column.DataType == typeof(Int32)) |
| { |
| GridNumericColumn numericColumn = new GridNumericColumn(); |
| numericColumn.HeaderText = column.ColumnName; |
| numericColumn.DataField = column.ColumnName; |
| grdCustomerAssignments.MasterTableView.Columns.Add(numericColumn); |
| } |
| else if (column.DataType == typeof(DateTime)) |
| { |
| GridDateTimeColumn dateColumn = new GridDateTimeColumn(); |
| dateColumn.HeaderText = column.Caption; |
| dateColumn.DataField = column.ColumnName; |
| dateColumn.DataFormatString = @"{0:MMM dd yyyy}"; |
| grdCustomerAssignments.MasterTableView.Columns.Add(dateColumn); |
| } |
| else |
| { |
| GridBoundColumn boundColumn = new GridBoundColumn(); |
| boundColumn.HeaderText = column.Caption; |
| boundColumn.DataField = column.ColumnName; |
| grdCustomerAssignments.MasterTableView.Columns.Add(boundColumn); |
| } |
| } |
| } |
| private void GetAssignments() |
| { |
| if (Assignments == null) |
| Assignments = new DataTable(); |
| if (TabTitles == null) |
| TabTitles = new Dictionary<string, IList<int>>(); |
| try |
| { |
| Assignments.Columns.Add(new DataColumn("ID")); |
| for (int i = 0; i < 50; i++) |
| { |
| Assignments.Columns.Add(new DataColumn("Column" + i.ToString())); |
| } |
| int columnIndex = 0; |
| int tabIndex = 0; |
| foreach (DataColumn column in Assignments.Columns) |
| { |
| if (columnIndex > 5) |
| { |
| string fieldCategory = "tab" + tabIndex.ToString(); |
| if (tabIndex == 4) |
| tabIndex = 0; |
| else |
| tabIndex++; |
| if (!TabTitles.ContainsKey(fieldCategory)) |
| { |
| IList<int> tmp = new List<int>(); |
| tmp.Add(columnIndex); |
| TabTitles.Add(fieldCategory, tmp); |
| } |
| else |
| TabTitles[fieldCategory].Add(columnIndex); |
| } |
| columnIndex++; |
| } |
| for (int j = 0; j < 50; j++) |
| { |
| DataRow row = Assignments.NewRow(); |
| foreach (DataColumn column in Assignments.Columns) |
| { |
| row[column.ColumnName] = column.ColumnName + "Row" + j.ToString(); |
| } |
| Assignments.Rows.Add(row); |
| } |
| Assignments.AcceptChanges(); |
| } |
| catch (Exception ex) |
| { |
| } |
| } |