<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowSorting="true" Skin="Vista"> <MasterTableView DataKeyNames="HOLE_ID, HOLE_SORT"> <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Center" /> <AlternatingItemStyle HorizontalAlign="Center" /> <NoRecordsTemplate> <div style="width:100%; text-align:center; height:21px; padding:4px 4px 4px 10px;"> <asp:Label ID="lblNoRecords" runat="server" Text="No data exists for this Hole."></asp:Label> </div> </NoRecordsTemplate> </MasterTableView> <ClientSettings> <Scrolling AllowScroll="true" /> </ClientSettings></telerik:RadGrid>Private colHeaderGroupList as List(of String) = GetColumnHeaderGroups()Private colHeaderList as List(of MyColumnData) = GetColumnHeaderData()Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init If Page.IsPostBack = False Then LoadColumns() End IfEnd SubPrivate Sub LoadColumns() 'clear columns RadGrid1.MasterTableView.Columns.Clear() 'add standard column Dim col1 As GridBoundColumn = New GridBoundColumn() RadGrid1.MasterTableView.Columns.Add(col1) With col1 .DataField = "HOLE_NO" .HeaderText = "Hole" .SortExpression = "HOLE_SORT" End With 'add elements as template columns to use double row headers For Each colHeader As String In colHeaderGroupList 'add column to grid Dim templateCol As GridTemplateColumn = New GridTemplateColumn() RadGrid1.MasterTableView.Columns.Add(templateCol) 'get just the columns for this group Dim thisGroup as List(of MyColumnData) = (From x in colHeaderList Where x.Group = colHeader Select x).ToList() 'create templates for column templateCol.HeaderTemplate = New MyDynamicHeaderTemplate(thisGroup) templateCol.ItemTemplate = New MyDynamicItemTemplate(thisGroup) NextEnd SubPrivate Class MyDynamicHeaderTemplate...End ClassPrivate Class MyDynamicItemTemplate...End Class
var multiPage = $find("<%= tabMultiPage.ClientID %>");in the below function:
function deleteTab(tabText) { var tabStrip = $find("<%= tabContainer.ClientID %>"); var multiPage = $find("<%= tabMultiPage.ClientID %>"); var tab = tabStrip.findTabByText(tabText); var pageView = tab.get_pageView(); var tabToSelect = tab.get_nextTab(); if (!tabToSelect) tabToSelect = tab.get_previousTab(); tabStrip.get_tabs().remove(tab); multiPage.get_pageViews().remove(pageView); if (tabToSelect) tabToSelect.set_selected(true); multiPage.commitChanges(); tabStrip.commitChanges(); }<add key="Telerik.TabStrip.Skin" value="Outlook" /> <add key="Telerik.Grid.Skin" value="Default" /> <add key="Telerik.TabStrip.EnableEmbeddedSkins" value="false" /> <add key="Telerik.TabStrip.EnableEmbeddedBaseStylesheet" value="false" />
function showSortOrder() { var grid = $find("<%=gridResults.ClientID %>") alert("Grid = " + grid); var mstrvw = grid.get_masterTableView(); alert("mstrvw = " + mstrvw); var sortExpressions = grid.get_masterTableView().get_sortExpressions(); alert("sortExpressions = " + sortExpressions); // alert("sortExpressions length = " + sortExpressions.length); var msg = "The current sort order is\n"; // for (i = 0; i < sortExpressions.length; i++) // { // var expression = sortExpressions[i]; // var fieldName = expression.get_fieldName(); // var sortOrder = expression.get_sortOrder(); // msg = msg + fieldName + " (" + sortOrder + ")\n" // } // alert(msg); alert(msg + sortExpressions.toString()); }| <asp:UpdatePanel ID="upnlGrid" runat="server" UpdateMode="Conditional"> |
| <ContentTemplate> |
| <telerik:RadGrid ID="UnitList" runat="server" AutoGenerateColumns="False" |
| DataSourceID="UnitDataSource" GridLines="None" |
| Skin="Windows7"> |
| <MasterTableView datakeynames="Id" datasourceid="UnitDataSource"> |
| <DetailTables> |
| <telerik:GridTableView runat="server" DataKeyNames="Id" |
| CssClass="GridBackground"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridTemplateColumn DataField="Title" HeaderText="Title" |
| UniqueName="LTitle"> |
| <ItemTemplate> |
| <asp:LinkButton ID="lbtnLTitle" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id")%>' runat="server" OnClick="lbtnLTitle_Click" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>'></asp:LinkButton> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn DataField="Presenter" HeaderText="Presenter" |
| UniqueName="LPresenter"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Location" HeaderText="Location" |
| UniqueName="LLocation"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Hours" HeaderText="Hours" |
| UniqueName="LHours"> |
| </telerik:GridBoundColumn> |
| <telerik:GridCheckBoxColumn DataField="IsActive" DataType="System.Boolean" |
| HeaderText="Active" UniqueName="LIsActive"> |
| </telerik:GridCheckBoxColumn> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn visible="True"> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridTemplateColumn DataField="Title" HeaderText="Title" |
| UniqueName="UTitle"> |
| <ItemTemplate> |
| <asp:LinkButton ID="lbtnUTitle" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id")%>' runat="server" OnClick="lbtnUTitle_Click" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>'></asp:LinkButton> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn DataField="OfferDept" HeaderText="Offer Dept." |
| UniqueName="UOfferDept"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Semester" HeaderText="Semester" |
| UniqueName="USemester"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Type" HeaderText="Type" UniqueName="UType"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="StudentVuNetId" HeaderText="Student Id" |
| UniqueName="UStudentVuNetId"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Hours" HeaderText="Hours" |
| UniqueName="UHours"> |
| </telerik:GridBoundColumn> |
| <telerik:GridCheckBoxColumn DataField="IsActive" DataType="System.Boolean" |
| HeaderText="Active" UniqueName="UIsActive"> |
| </telerik:GridCheckBoxColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <asp:ObjectDataSource ID="UnitDataSource" runat="server" |
| SelectMethod="GetAllUnits" |
| TypeName="Vanderbilt.CpmmProg.CommonUtils.UnitManagement"> |
| </asp:ObjectDataSource> |
| </ContentTemplate> |
| </asp:UpdatePanel> |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| //attach the event to build the nested grid |
| UnitList.DetailTableDataBind += new GridDetailTableDataBindEventHandler(UnitList_DetailTableDataBind); |
| if (!Page.IsPostBack) |
| { |
| //do some stuff not related to grid at all |
| } |
| } |
| protected void UnitList_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e) |
| { |
| int unitId = (int)e.DetailTableView.ParentItem.GetDataKeyValue("Id"); |
| e.DetailTableView.DataSource = UnitManagement.GetUnitLectures(unitId); |
| } |
| protected void lbtnLTitle_Click(object sender, EventArgs e) |
| { |
| int Id = Int32.Parse(((LinkButton)sender).CommandArgument.ToString().Trim()); |
| //TODO Get data for lecture, populate the updatePanel for editing lectures |
| Lecture lec = LectureManagement.GetLecture(Id); |
| tbTitle.Text = lec.Title; |
| tbPresenter.Text = lec.Presenter; |
| tbLocation.Text = lec.Location; |
| tbHours.Text = lec.Hours.ToString(); |
| tbCourseAdminVuNetId.Text = lec.CourseAdminVuNetId; |
| rdtpTime.SelectedDate = lec.DateAndTime; |
| hfEditLecId.Value = lec.Id.ToString(); |
| cbIsActive.Checked = lec.IsActive; |
| //TODO show modal popup. |
| hfEditLectureDummy_ModalPopupExtender.Show(); |
| } |
| protected void lbtnUTitle_Click(object sender, EventArgs e) |
| { |
| //redirect to another page |
| } |
| protected void btnEditCancel_Click(object sender, EventArgs e) |
| { |
| //hide the modal popup |
| hfEditLectureDummy_ModalPopupExtender.Hide(); |
| } |
| protected void btnEditSave_Click(object sender, EventArgs e) |
| { |
| //get the lecture |
| //save the lecture to persistence |
| //hide modal popup |
| hfEditLectureDummy_ModalPopupExtender.Hide(); |
| //update the updatepanel |
| upnlGrid.Update(); |
| } |
Public Function GetZones() As ArrayList
Dim zones As New ArrayList()
zones.Add(RadDockZone1)
zones.Add(RadDockZone2)
Return zones
End Function
Protected
Sub ButtonAddDock_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim dock As RadDock = CreateRadDock()
'find the target zone and add the new dock there
Dim dz As RadDockZone = DirectCast(FindControl(DropDownZone.SelectedItem.Text), RadDockZone)
dz.Controls.Add(dock)
CreateSaveStateTrigger(dock)
'Load the selected widget in the RadDock control
dock.Tag = DroptDownWidget.SelectedValue
LoadWidget(dock)
ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "MoveDock", String.Format("function _moveDock() {{" & vbCr & vbLf & vbTab & vbTab & vbTab & " " & vbTab & "Sys.Application.remove_load(_moveDock);" & vbCr & vbLf & vbTab & vbTab & vbTab & vbTab & " $find('{1}').dock($find('{0}'),{2});" & vbCr & vbLf & vbTab & vbTab & vbTab & " }};" & vbCr & vbLf & vbTab & vbTab & vbTab & " Sys.Application.add_load(_moveDock);", dock.ClientID, DropDownZone.SelectedValue, dz.Docks.Count), True)
End Sub
Dim dz As RadDockZone = DirectCast(FindControl(DropDownZone.SelectedItem.Text), RadDockZone)
<%
@ Page Title="" Language="vb" AutoEventWireup="true" MasterPageFile="~/App_Templates/IFM.Master" CodeBehind="Test Control Panel.aspx.vb" Inherits="IFM_Code_Testing.Test_Control_Panel" ClassName="Test_Control_Panel" %>
<%
@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
var currentLoadingPanel = null;
var currentUpdatedControl = null;
function RequestStart(sender, args) {
currentLoadingPanel = $find(
"LoadingPanel1");
currentUpdatedControl =
"TableLayout";
currentLoadingPanel.show(currentUpdatedControl);
}
function ResponseEnd() {
//hide the loading panel and clean up the global variables
if (currentLoadingPanel != null)
currentLoadingPanel.hide(currentUpdatedControl);
currentUpdatedControl =
null;
currentLoadingPanel =
null;
}
</script>
</telerik:RadCodeBlock>
</
asp:Content>
<
asp:Content ID="Content2" ContentPlaceHolderID="ControlPanelHolder" runat="server">
<
div id="ControlPanel">
<asp:Panel ID="TitlePanel" runat="server" >
<asp:Image ID="Image2" runat="server" ImageUrl="~/images/collapse_blue.jpg"/>
<asp:Label ID="Label1" runat="server">Show Control Panel</asp:Label>
</asp:Panel>
<asp:Panel ID="ContentPanel" runat="server" CssClass="ContentPanel" >
<div class="module">
Select Module:
<asp:DropDownList runat="server" ID="DroptDownWidget" Width="150">
<asp:ListItem Text="ExchangeRates.ascx" Value="~/Controls/ExchangeRates.ascx" Selected="True"></asp:ListItem>
<asp:ListItem Text="Horoscopes.ascx" Value="~/Controls/Horoscopes.ascx"></asp:ListItem>
<asp:ListItem Text="News.ascx" Value="~/Controls/News.ascx"></asp:ListItem>
<asp:ListItem Text="Weather.ascx" Value="~/Controls/Weather.ascx"></asp:ListItem>
</asp:DropDownList>
<br />
Select Docking Zone:
<asp:DropDownList ID="DropDownZone" runat="server" >
<asp:ListItem Text="RadDockZone1" Value="RadDockZone1" Selected="True"></asp:ListItem>
<asp:ListItem Text="RadDockZone2" Value="RadDockZone2"></asp:ListItem>
<asp:ListItem Text="RadDockZone3" Value="RadDockZone3"></asp:ListItem>
</asp:DropDownList>
<br />
<br />
<asp:Button runat="server" CssClass="button" ID="ButtonAddDock" Text="Add Dock (AJAX)"
OnClick="ButtonAddDock_Click" />
</div>
</asp:Panel>
<asp:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" runat="server"
TargetControlID="ContentPanel"
ExpandControlID="TitlePanel"
CollapseControlID="TitlePanel"
Collapsed="true"
AutoExpand="false" TextLabelID="Label1" ExpandedText="Hide Control Panel" CollapsedText="Show Control Panel" ImageControlID="Image2" CollapsedImage="~/images/collapse_blue.jpg" ExpandedImage="~/images/expand_blue.jpg">
</asp:CollapsiblePanelExtender>
 
</div>
</
asp:Content>
<
asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
</
asp:Content>
<
asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<
asp:Panel ID="Panel1" runat="server">
<telerik:RadDockLayout runat="server" ID="RadDockLayout1" OnSaveDockLayout="RadDockLayout1_SaveDockLayout"
OnLoadDockLayout="RadDockLayout1_LoadDockLayout" EnableEmbeddedSkins="true">
<table id="TableLayout">
<tr>
<td>
<telerik:RadDockZone runat="server" ID="RadDockZone1" Width="280" MinHeight="600">
</telerik:RadDockZone>
</td>
<td>
<telerik:RadDockZone runat="server" ID="RadDockZone2" Width="280" MinHeight="600">
</telerik:RadDockZone>
</td>
<td>
<telerik:RadDockZone runat="server" ID="RadDockZone3" Width="280" MinHeight="600">
</telerik:RadDockZone>
</td>
</tr>
</table>
</telerik:RadDockLayout>
</asp:Panel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ClientEvents-OnRequestStart="RequestStart"
ClientEvents-OnResponseEnd="ResponseEnd">
<%
-- <AjaxSettings>
<telerik:AjaxSetting AjaxControlID="ButtonAddDock" EventName="Click">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Panel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>--
%>
</telerik:RadAjaxManager>
</
asp:Content>
Public
Class Test_Control_Panel
Inherits System.Web.UI.Page
Private _conn As New SqlConnection(ConfigurationManager.ConnectionStrings("CONNSTRING").ConnectionString)
Private _userID As Integer = 999999
 
Private ReadOnly Property CurrentDockStates() As List(Of DockState)
Get
Dim dockStatesFromDB As String = ""
_conn.Open()
Dim command As New SqlCommand("select state from IFM_User_Page_Layout where UserID='" + _userID.ToString() + "'", _conn)
dockStatesFromDB = command.ExecuteScalar().ToString()
_conn.Close()
Dim _currentDockStates As New List(Of DockState)()
Dim stringStates As String() = dockStatesFromDB.Split("|"c)
For Each stringState As String In stringStates
If stringState.Trim() <> String.Empty Then
_currentDockStates.Add(
DockState.Deserialize(stringState))
End If
Next
Return _currentDockStates
End Get
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
End If
End Sub
Public Function GetZones() As ArrayList
Dim zones As New ArrayList()
zones.Add(RadDockZone1)
zones.Add(RadDockZone2)
Return zones
End Function
Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer = 0
While i < CurrentDockStates.Count
If CurrentDockStates(i).Closed = False Then
Dim dock As RadDock = CreateRadDockFromState(CurrentDockStates(i))
CreateSaveStateTrigger(dock)
'Load the selected widget
LoadWidget(dock)
RadDockLayout1.Controls.Add(dock)
End If
System.
Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While
End Sub
Protected Sub RadDockLayout1_LoadDockLayout(ByVal sender As Object, ByVal e As DockLayoutEventArgs)
For Each state As DockState In CurrentDockStates
e.Positions(state.UniqueName) = state.DockZoneID
e.Indices(state.UniqueName) = state.Index
Next
End Sub
Protected Sub RadDockLayout1_SaveDockLayout(ByVal sender As Object, ByVal e As DockLayoutEventArgs)
Dim stateList As List(Of DockState) = RadDockLayout1.GetRegisteredDocksState()
Dim serializedList As New StringBuilder()
Dim i As Integer = 0
While i < stateList.Count
serializedList.Append(stateList(i).ToString())
serializedList.Append(
"|")
System.
Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
End While
Dim dockState As String = serializedList.ToString()
If dockState.Trim() <> [String].Empty Then
_conn.Open()
Dim command As New SqlCommand([String].Format("update IFM_User_Page_Layout set state='{0}' where UserID='" + _userID.ToString() + "'", dockState), _conn)
command.ExecuteNonQuery()
_conn.Close()
End If
End Sub
Private Function CreateRadDockFromState(ByVal state As DockState) As RadDock
Dim dock As New RadDock()
dock.DockMode =
DockMode.Docked
dock.ID =
String.Format("RadDock{0}", state.UniqueName)
dock.ApplyState(state)
dock.Commands.Add(
New DockCloseCommand())
dock.Commands.Add(
New DockExpandCollapseCommand())
Return dock
End Function
Private Function CreateRadDock() As RadDock
Dim docksCount As Integer = CurrentDockStates.Count
Dim dock As New RadDock()
dock.DockMode =
DockMode.Docked
dock.UniqueName =
Guid.NewGuid().ToString()
dock.ID =
String.Format("RadDock{0}", dock.UniqueName)
dock.Title =
"Dock"
dock.Text =
String.Format("Added at {0}", DateTime.Now)
dock.Width =
Unit.Pixel(300)
dock.Commands.Add(
New DockCloseCommand())
dock.Commands.Add(
New DockExpandCollapseCommand())
Return dock
End Function
Private Sub CreateSaveStateTrigger(ByVal dock As RadDock)
dock.AutoPostBack =
True
dock.CommandsAutoPostBack =
True
Dim updatedControl As New AjaxUpdatedControl()
updatedControl.ControlID =
"Panel1"
Dim setting1 As New AjaxSetting(dock.ID)
setting1.EventName =
"DockPositionChanged"
setting1.UpdatedControls.Add(updatedControl)
Dim setting2 As New AjaxSetting(dock.ID)
setting2.EventName =
"Command"
setting2.UpdatedControls.Add(updatedControl)
RadAjaxManager1.AjaxSettings.Add(setting1)
RadAjaxManager1.AjaxSettings.Add(setting2)
End Sub
 
Protected Sub ButtonAddDock_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim dock As RadDock = CreateRadDock()
'find the target zone and add the new dock there
Dim dz As RadDockZone = DirectCast(FindControl(DropDownZone.SelectedItem.Text), RadDockZone)
dz.Controls.Add(dock)
CreateSaveStateTrigger(dock)
'Load the selected widget in the RadDock control
dock.Tag = DroptDownWidget.SelectedValue
LoadWidget(dock)
ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "MoveDock", String.Format("function _moveDock() {{" & vbCr & vbLf & vbTab & vbTab & vbTab & " " & vbTab & "Sys.Application.remove_load(_moveDock);" & vbCr & vbLf & vbTab & vbTab & vbTab & vbTab & " $find('{1}').dock($find('{0}'),{2});" & vbCr & vbLf & vbTab & vbTab & vbTab & " }};" & vbCr & vbLf & vbTab & vbTab & vbTab & " Sys.Application.add_load(_moveDock);", dock.ClientID, DropDownZone.SelectedValue, dz.Docks.Count), True)
End Sub
Private Sub LoadWidget(ByVal dock As RadDock)
If String.IsNullOrEmpty(dock.Tag) Then
Return
End If
Dim widget As Control = LoadControl(dock.Tag)
dock.ContentContainer.Controls.Add(widget)
End Sub
 
 
 
 
End
Class
public List<EAV> GetRecords(List<string> ParentRecords, List<string> ChildRecords){ List<EAV> Final = new List<EAV>(); for (int i = 0; i < ParentRecords.Count; i++) { //Put a check for child records exists and add Final.Add(new EAV(ParentRecords[i], ChildRecords[0])); //Start looping from 2nd J = 1 instead of 0 for (int J = 1; J < ChildRecords.Count; J++) { //remove ParentRecords[i] Final.Add(new EAV("", ChildRecords[J])); } } return Final;}