Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
33 views
   <telerik:RadDateTimePicker ID="StartDtPicker" runat="server" Skin="Windows7"
                                Calendar-EnableMonthYearFastNavigation="true">
                                    <Calendar MultiViewColumns="3" MultiViewRows="1" ShowOtherMonthsDays="false"
                                        ShowRowHeaders="false" CalendarTableStyle-BackColor="AliceBlue"
                                        DayStyle-Font-Bold="true" NavigationPrevText="" NavigationNextText="">
                                        <SpecialDays>
                                            <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="Bisque" />
                                        </SpecialDays>                 
                                    </Calendar>
  </telerik:RadDateTimePicker>

do i need to write event handlers to for these navigation button actions?
Arno
Top achievements
Rank 2
 answered on 23 Oct 2010
1 answer
92 views
Please have a look at the code below.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
            <telerik:RadScriptManager runat="server"
                                      ID="RadScriptManager1">
                <Scripts>
                    <asp:ScriptReference Assembly="Telerik.Web.UI"
                                         Name="Telerik.Web.UI.Common.Core.js"/>
                    <asp:ScriptReference Assembly="Telerik.Web.UI"
                                         Name="Telerik.Web.UI.Common.jQuery.js"/>
                    <asp:ScriptReference Assembly="Telerik.Web.UI"
                                         Name="Telerik.Web.UI.Common.jQueryInclude.js"/>
                    <asp:ScriptReference Path="~/AdvancedForm.js"/>
                </Scripts>
            </telerik:RadScriptManager>
 
    </div>
    <telerik:RadWindow ID="RadWindow1" runat="server"
        Width="200px"
        Height="60px"
        VisibleOnPageLoad="true"
        runat="server">
        <ContentTemplate>
        <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
            <script type="text/javascript">
                $(document).ready(function() {
                    var x = "#<%=RadSchedulerRecurrenceEditor1.ClientID %>_RecurrentAppointment";
                    $(x).click(function() {
                        var w = $find('<%= RadWindow1.ClientID %>');
                        setTimeout(function() {
                            if ($(x + ':checked').val() !== null) {
                                w.set_height(295);
                                w.set_width(620);
                            } else {
                                w.set_height(60);
                                w.set_width(200);
                            }
                            w.center();
                        }, 500);
                    });
                });
            </script>
        </telerik:RadScriptBlock>
        ---
        <telerik:RadSchedulerRecurrenceEditor ID="RadSchedulerRecurrenceEditor1" runat="server" BackColor="Yellow" >
        </telerik:RadSchedulerRecurrenceEditor>
        ---
        </ContentTemplate>
    </telerik:RadWindow>
    </form>
</body>
</html>

It represents an attempt to resize the window when client side code changes the content.

As you'll see if you run the code, clicking on the checkbox opens the Recurrence Editor (from RadScheduler) and the window resizes.

However, I don't seem to be able to get it to revert to the smaller size if the checkbox is unchecked again.

What am I missing?

-- 
Stuart
Stuart Hemming
Top achievements
Rank 2
 answered on 22 Oct 2010
1 answer
155 views
Hello,

I have an issue using the RadGrid export functions. The RadGrid is placed on a RadAjaxPanel combined with a RadAjaxLoadingPanel. The RadAjaxLoadingPanel is displayed when clicking on the integrated grid export button but it remains open after the file has been downloaded. I would like to not display the RadAjaxLoadingPanel when clicking on export or hide it after download. I tried to hide the RadAjaxLoadingPanel in the onRequestStart method with following code without success:

function onRequestStart(sender, args)
            {
                if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
                                                args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
                                                args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
                    alert("no ajax");
                    args.set_enableAjax(false);
                    currentLoadingPanel = $find("<%= rAJLoadingPanel.ClientID %>");
                    currentLoadingPanel.hide(currentLoadingPanel);
                    currentLoadingPanel.style.visibility = 'hidden';
            }




Please try the code attached taken from Telerik RadGrid Export samples to reproduce the problem

<%@ Page Language="c#" Inherits="Telerik.GridExamplesCSharp.GeneralFeatures.Exporting.DefaultCS"
    CodeFile="DefaultCS.aspx.cs" %>
 
<%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" %>
<%@ Register TagPrefix="telerik" TagName="Header" Src="~/Common/Header.ascx" %>
<%@ Register TagPrefix="telerik" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
<%@ Register TagPrefix="telerik" TagName="Footer" Src="~/Common/Footer.ascx" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head runat="server">
    <telerik:HeadTag runat="server" ID="Headtag2"></telerik:HeadTag>
</head>
<body class="BODY">
    <form runat="server" id="mainForm" method="post">
    <telerik:Header runat="server" ID="Header1" NavigationLanguage="CS"></telerik:Header>
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
    <!-- content start -->
    <div class="module" style="height: 110px; width: 92%">
        <asp:CheckBox ID="CheckBox1" Text="Export only data" runat="server"></asp:CheckBox>
        <br />
        <asp:CheckBox ID="CheckBox2" Text="Ignore paging (exports all pages)" runat="server">
        </asp:CheckBox>
        <br />
        <asp:CheckBox ID="CheckBox3" Text="Open exported data in new browser window" runat="server">
        </asp:CheckBox>
        <br />
        <br />
        <asp:Button ID="Button1" CssClass="button" Width="150px" Text="Export to Excel" OnClick="Button1_Click"
            runat="server"></asp:Button>
        <asp:Button ID="Button2" CssClass="button" Width="150px" Text="Export to Word" OnClick="Button2_Click"
            runat="server"></asp:Button>
        <asp:Button ID="Button3" CssClass="button" Width="150px" Text="Export to CSV" OnClick="Button3_Click"
            runat="server"></asp:Button>
    </div>
    <br />
 
    <script type="text/javascript">
        function onRequestStart(sender, args)
        {
            if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
                    args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
                    args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {               
                args.set_enableAjax(false);
            }
        }
    </script>
    <telerik:RadAjaxLoadingPanel ID="rAJLoadingPanel" runat="server" Skin="Default" />
    <telerik:RadAjaxPanel ID="radPanel" runat="server" LoadingPanelID="rAJLoadingPanel">
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <ClientEvents OnRequestStart="onRequestStart" />
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="radPanel" LoadingPanelID="rAJLoadingPanel" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AllowSorting="True"
        AllowPaging="True" PageSize="10" runat="server" GridLines="None" Width="95%"
        OnItemCommand="RadGrid1_ItemCommand">
        <ExportSettings HideStructureColumns="true" />
        <MasterTableView Width="100%" CommandItemDisplay="Top">
            <PagerStyle Mode="NextPrevNumericAndAdvanced" />
            <CommandItemSettings ShowExportToWordButton="true" ShowExportToExcelButton="true"
                ShowExportToCsvButton="true" />
        </MasterTableView>
    </telerik:RadGrid>
    </telerik:RadAjaxPanel>
    <br />
    <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
        ProviderName="System.Data.SqlClient" SelectCommand="SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, PostalCode FROM Customers"
        runat="server"></asp:SqlDataSource>
    <!-- content end -->
    <telerik:Footer runat="server" ID="Footer1"></telerik:Footer>
    </form>
</body>
</html>


I

Daniel
Telerik team
 answered on 22 Oct 2010
4 answers
134 views
Hi,
I have an issue, I want to insert a register in a rad grid. When I enable the property ReadOnly="true" I cannot edit the corresponding column which is right (you must not edit your primary key). However this property disables the same fields when I try to insert a new register which (for me) is wrong (I want to insert my primary key in the front-end). How can I set this property in order to maintain it as "ReadOnly"  these fields when I'm editing and besides to maintain enabled my pk fields when I insert new fields. 
I want to insert 3 primary keys. I don't want to edit it.

Thanks in advance,
William

<telerik:RadGrid  runat="server" ID="grid" AutoGenerateColumns="false"
    AllowPaging="true" OnNeedDataSource="grid_NeedDataSource" OnUpdateCommand="RadGrid1_UpdateCommand"
    OnInsertCommand="RadGrid1_InsertCommand" OnDeleteCommand="RadGrid1_DeleteCommand" >
    <MasterTableView DataKeyNames="CompanyID,BranchID,SupplierID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage"  EditMode="InPlace">
        <Columns>           
        <telerik:GridBoundColumn  DataField="CompanyID" HeaderText="Sociedad" 
             ForceExtractValue="InEditMode" ConvertEmptyStringToNull="true" ReadOnly="true" /> 
      <telerik:GridBoundColumn DataField="BranchID" HeaderText="Sucursal"  
            ForceExtractValue="Always" ConvertEmptyStringToNull="true" ReadOnly="true">
      </telerik:GridBoundColumn>
      <telerik:GridBoundColumn DataField="SupplierID" HeaderText="Tipo de identificación"  
            ForceExtractValue="Always" ConvertEmptyStringToNull="true" ReadOnly="true" >
       </telerik:GridBoundColumn>
       <telerik:GridBoundColumn DataField="Code" HeaderText="Código SAP" >
       </telerik:GridBoundColumn>
        <telerik:GridEditCommandColumn ButtonType="ImageButton" />
            <telerik:GridButtonColumn ConfirmText="XXXXXXXX" ConfirmDialogType="RadWindow"
                ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" />
        </Columns>
        <EditFormSettings>
            <EditColumn ButtonType="ImageButton" />
        </EditFormSettings>
    </MasterTableView>
    <PagerStyle Mode="NextPrevAndNumeric" />
</telerik:RadGrid>

william
Top achievements
Rank 1
 answered on 22 Oct 2010
2 answers
193 views
Hi there,

I am using ASP.Net Ajax 2010, relase Q2 with Vstudio 2008 SP1.

I have a hierarchical Rad Grid, that only the selected Master Table row needs to be exported (i.e. Master row and all related Detail  Data). 

Attached is my Grid (hierarchy.jpg). If I do not expand the Master Row and click export, it just export Master Row Data (hierarchy export.jpg) not detail table data But If I expand the Master row, and click export it  does  output Master Detail Data (hierarchy export After Clicking Expand.jpg).

My question is that can I export the Master/Detal related row without expanding the Master Table row? My users will not be happy to expand the row first and later click the export button to export the data.  Basically I want the result set will be (hierarchy export After Clicking Expand.jpg) without expanding the Master Table row.

Below is my complete code. Thanks

Gc_0620
_____

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
         
        <telerik:RadGrid Skin="Sunset" AutoGenerateEditColumn="true" ID="RadGrid1" ShowStatusBar="true"
            DataSourceID="SqlDataSource1" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" GridLines="None" PageSize="10">
            <PagerStyle Mode="NumericPages"></PagerStyle>
            <MasterTableView HierarchyLoadMode="ServerOnDemand" DataSourceID="SqlDataSource1"
                DataKeyNames="CustomerID" AllowMultiColumnSorting="True" CommandItemDisplay="None">
                <DetailTables>
                    <telerik:GridTableView Name="Orders" DataKeyNames="OrderID" CommandItemDisplay="None"
                        DataSourceID="SqlDataSource2" Width="100%" runat="server">
                        <ParentTableRelation>
                            <telerik:GridRelationFields DetailKeyField="CustomerID" MasterKeyField="CustomerID" />
                        </ParentTableRelation>
                        <Columns>
                            <telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton"
                                DataField="OrderID" UniqueName="OrderID">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton"
                                DataField="OrderDate" UniqueName="OrderDate" DataFormatString="{0:D}">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn SortExpression="Freight" HeaderText="Freight" HeaderButtonType="TextButton"
                                DataField="Freight" UniqueName="Freight">
                            </telerik:GridBoundColumn>
                        </Columns>
                        <SortExpressions>
                            <telerik:GridSortExpression FieldName="OrderDate"></telerik:GridSortExpression>
                        </SortExpressions>
                    </telerik:GridTableView>
                </DetailTables>
                <Columns>
                    <telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton"
                        DataField="CustomerID" UniqueName="CustomerID">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton"
                        DataField="ContactName" UniqueName="ContactName">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="CompanyName" HeaderText="Company" HeaderButtonType="TextButton"
                        DataField="CompanyName" UniqueName="CompanyName">
                    </telerik:GridBoundColumn>
                </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="CompanyName"></telerik:GridSortExpression>
                </SortExpressions>
            </MasterTableView>
            <ClientSettings>
                <Selecting AllowRowSelect="true" />
            </ClientSettings>
        </telerik:RadGrid>
          
        <br /> <br />
         <asp:Button ID="Button1" runat="server" Text="Export to PDF selected items with Child Items" OnClick="Button1_Click" />
        <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
            ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Customers"
            runat="server"></asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
            ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Orders Where CustomerID = @CustomerID"
            runat="server">
            <SelectParameters>
                <asp:SessionParameter Name="CustomerID" SessionField="CustomerID" Type="string" />
            </SelectParameters>
        </asp:SqlDataSource>
    </div>
     
    </form>
</body>
</html>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
  
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
  
    }
  
  
  
    protected void RadGrid1_PreRender(object sender, EventArgs e)
    {
  
    }
  
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (RadGrid1.SelectedItems.Count != 0)
        {
            foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                if (!item.Selected)
                    item.Visible = false;
            }
        }
      
        RadGrid1.ExportSettings.OpenInNewWindow = true;
        RadGrid1.ExportSettings.ExportOnlyData = true;
        RadGrid1.MasterTableView.HierarchyDefaultExpanded = true;
        RadGrid1.MasterTableView.ExportToPdf();
    }
  
  
}
 

 
gc_0620
Top achievements
Rank 1
 answered on 22 Oct 2010
3 answers
194 views
Hi..
I have a menu which is 1000px wide... it has 4 menu items..
How can I evenly space them across the menu... so they take up the entire length of the menu... thanks

|           Item 1                  |            Item  2                        |              MenuItem3               |                MenuOption                        
Cori
Top achievements
Rank 2
 answered on 22 Oct 2010
10 answers
190 views
I'm working on modifying the Advanced Template and I need to put some extra buttons in the submit area. One of the buttons is actually a CustomControl based around an asp:Button so I can't use a LinkButton like the Advanced Form does.

In addition, all of my pages are based on a MasterPage that has a FormDecorator on it so I figured I could replace the LinkButtons with regular Buttons and the FormDecorator would make sure that they all look alike. 

Wrong.

I'm just trying to mock up how the page should look and so, I have this as the code in my AdvancedForm,ascx's SubmitArea ...
<asp:Panel runat="server"
           ID="ButtonsPanel"
           CssClass="rsAdvancedSubmitArea">
    <div class="rsAdvButtonWrapper">
        <asp:Button  ID="btnWorkgrouSecurity" runat="server" Text="Workgroup Security"/>
        <asp:Button  ID="UpdateButton" runat="server" Text='Save'/>
        <asp:Button  ID="CancelButton" runat="server" Text='Cancel' CommandName="Cancel" CausesValidation="false" />
    </div>
</asp:Panel>

SS1.jpg will show you the mess that is made of the layout of the buttons. I know that this is largely down to the styles defined as "rsAdvancedSubmitArea" and "rsAdvButtonWrapper". However removing anything in these classes that could, in any way, have an impact on the buttons gets be SS2.jpg. As you can see, the text alignment is shot and if you look at SS3.jpg you'll see that the highlighting of the buttons is wrong too; the right hand side of the button's gone.

Can anyone shed any light on what I'm doing wrong here?

-- 
Stuart
Stuart Hemming
Top achievements
Rank 2
 answered on 22 Oct 2010
2 answers
70 views
I have a page with a RadScheduler on it. The scheduler uses a custom AdvancedForm template.

The AdvancedForm template has a RadMultiPage control on it and a couple of the pages have UserControls on them that, in turn, have RadGrids on them.

If I carry out an operation on one of the grids, via an AjaxRequest, I Rebind it and want to see the changes. I tried adding an AjaxProxyManager on the UserControl and on the AdvancedForm template and either got an error or no update at all. I have finally convinced the page to update my grid but only by including an AjaxSetting to update the entire scheduler on the main page.

So, the question is "Is this what you would expect"?

If it is, it seems an awful lot of updating to do to, in the case of my test, to remove one row from a grid.

The page I have ATM, is just a mock-up with all the data being generated by the page itself rather than there being DB or service calls to confuse the issue and as it is, it's taking about 7 seconds to bring up the AdvancedForm initially and an ajax update is taking only a second or so less.

-- 
Stuart
Stuart Hemming
Top achievements
Rank 2
 answered on 22 Oct 2010
1 answer
115 views
I have looked through the threads for something similar and have not found anything to help me...

I have a listview that contains rows populated manually at runtime from a datatable created in the NeedDataSource event.  The columns in the datatable are bound to certain specific items in the listview.  In general, this is all working fine.

However, one of the columns in the datatable contains a path/file name to an image related to the data record.  This path/file name may contain a valid path or it may be an empty string ("").

If the path/file name contains data (a path/file name), then I want to display that image (photo) in a column in the the related row in the listview.

If the path/file name contains an empty string, then I want to display a "no image available" type of graphic.

This is the first time I have attempted to use the Listview control, so I'm not certain how/when to programmatically access/manipulate it to accomplish this goal.

Do you have a sample or some sample code that does this?

Thanks in advance!

Lynn


Lynn
Top achievements
Rank 2
 answered on 22 Oct 2010
1 answer
154 views
I am under the gun here and having a weird issue with RadGrid.  I am using regular data bind (datasource = , databind()).  The grid has some template columns that contain a textbox and a slider.  Whenever I got to capture the values of the slider or the textbox on a postback...both return empty.  Any ideas on what could be causing this?  One note is that not all the rows are displayed upon loading of the grid and I dynamically show them.  Here is the page:
<%@ Register Src="~/BusinessModules/Report/EarnedValueReportSection.ascx" TagName="EarnedValueReportSection" TagPrefix="uc1" %>
<%@ Control Language="vb" AutoEventWireup="false" Inherits="Digisoft.DS.UI.Web.ProgramEarnedValueControl" CodeFile="ProgramEarnedValueControl.ascx.vb" %>
<script type="text/javascript">
    //variables
    var gridProject;
    var tableProject;
     
    //itit Functions
    function initProjectGrid(sender,args){
        //set gridProject,tableProject
        gridProject = sender;
        tableProject = gridProject.get_masterTableView();
    }
     
    function toggleTreeRows(gridId,rowId,storageId,buttonName) {
        var rows = tableProject.get_dataItems();
        var row;
        var childRow;
        var rowVisible = false;
        var childOpen = false;
        var parentLineage = '';
        var childLineage = '';
        var parentLevel = 0;
        var childLevel = 0;
        var storageList = '';
        var storageCtl = document.getElementById(storageId);
        var openCloseCtl;
         
        for (var i = 0; i < rows.length; i++){
            row = rows[i];
            openCloseCtl = row.findElement(buttonName);
            if (parentLineage != '') {
                childLineage = row.get_element().getAttribute('lineage');
                   
                if (childLineage.indexOf(parentLineage) == 0) {
                    childLevel = childLineage.split('/').length;
                    if (childLevel == (parentLevel + 1)){
                        if (childOpen == 'true'){
                            //hide child
                            row.get_element().setAttribute('open','false');
                            if (openCloseCtl.getAttribute("onclick") != null) {
                                openCloseCtl.setAttribute('src',openCloseCtl.getAttribute('src').replace('minus','plus'));
                            }
                            tableProject.hideItem(i);
                        }
                        else {
                            //show child
                            row.get_element().setAttribute('open','true');
                            if (openCloseCtl.getAttribute("onclick") != null) {
                                openCloseCtl.setAttribute('src',openCloseCtl.getAttribute('src').replace('minus','plus'));
                            }
                            tableProject.showItem(i);
                        }
                    }
                    else {
                        //hide non-first level children
                        row.get_element().setAttribute('open','false');
                        if (openCloseCtl.getAttribute("onclick") != null) {
                            openCloseCtl.setAttribute('src',openCloseCtl.getAttribute('src').replace('plus','minus'));
                        }
                        tableProject.hideItem(i);
                    }
                }
            }
            if (rowId == row.get_element().getAttribute('lineage')){
                parentLineage = row.get_element().getAttribute('lineage');
                parentLevel = parentLineage.split('/').length;
                childOpen = tableProject.get_dataItems()[i + 1].get_element().getAttribute('open');
                if (childOpen == 'true'){
                    openCloseCtl.setAttribute('src',openCloseCtl.getAttribute('src').replace('minus','plus'));
                }
                else {
                    openCloseCtl.setAttribute('src',openCloseCtl.getAttribute('src').replace('plus','minus'));
                }
            }
            if (row.get_element().getAttribute('open') == 'true') {
                storageList += row.get_element().getAttribute('lineage') + ','
            }
        }
        storageCtl.value = storageList;
    }
     
    function onSliderValueChange(sender, args){
        var sliderPercentText;
         
        sliderPercentText = document.getElementById(sender.get_element().getAttribute('sliderPercentTxtId'));
        sliderPercentText.value = sender.get_value();
    }
     
    function onSliderEnd(sender, args){
        var valueArray;
        var sliderPercentText;
        var valueParent;
        var valueChild;
        var weightChild;
        var percentChild;
        var rows;
        var row;
        var rowParent;
        var slider;
        var sliderParent;
        var projectId;
        var projectParentId = '';
        var sliderName;
        var hasChildren;
         
        sliderName = sender.get_element().getAttribute('sliderName');
        rows = tableProject.get_dataItems();
         
        valueArray = new Array(rows.length - 1);
         
        //set the values for projects that do not have children in preparation for rolling up.
        for (var i = 0; i <= rows.length - 1; i++){
            row = rows[i];
            slider = row.findControl(sliderName);
            hasChildren = slider.get_element().getAttribute('sliderHasChildren');
            percentChild = slider.get_value();
            if (hasChildren == 'false'){
                valueArray[i] = (percentChild / 100);
            }
            else {
                valueArray[i] = 0;
            }
        }
         
        //roll up values
        for (var i = rows.length - 1; i >= 0; i--){
            row = rows[i];
            slider = row.findControl(sliderName);
            projectParentId = slider.get_element().getAttribute('sliderProjectParentId');
            percentChild = valueArray[i];
            weightChild = slider.get_element().getAttribute('sliderWeight');
             
            if (i !== 0){
                for (var x = (i - 1); x >= 0; x--){
                    rowParent = rows[x];
                    sliderParent = rowParent.findControl(sliderName);
                    projectId = sliderParent.get_element().getAttribute('sliderProjectId');
                     
                    if (projectId == projectParentId) {
                        valueArray[x] += (valueArray[i] * weightChild);
                        break;
                    }
                }
            }
        }
         
        //set value for projects that have children
        for (var i = 0; i < rows.length - 1; i++){
            row = rows[i];
            slider = row.findControl(sliderName);
            hasChildren = slider.get_element().getAttribute('sliderHasChildren');
            sliderPercentText = document.getElementById(slider.get_element().getAttribute('sliderPercentTxtId'));
            valueArray[i] = (valueArray[i] * 100);
            if (hasChildren == 'true'){
                slider.set_value(valueArray[i].toFixed(0));
                sliderPercentText.value = valueArray[i].toFixed(0);
            }
        }
    }
</script>
<style type="text/css" media="all">
    input.label {
        width: 200px;
        border: none;
        color: #000000;
        background-color: transparent;
        text-align: right;
    }
</style>
<asp:updatepanel id="DisplayPanel" Visible="False" UpdateMode="Always" Runat="server">
    <Triggers>
        <asp:PostBackTrigger ControlID="CloseBtn" />
    </Triggers>
    <ContentTemplate>
        <des:DSUpdateProgress ID="UpdateProgress1" AssociatedUpdatePanelID="DisplayPanel" runat="server">
            <ProgressTemplate>
                <div class="ProgressPanel">
                      
                </div>
                <div class="InnerProgressPanel">
                    <img src="images/ajax-loader.gif" alt="Loading..." /> Loading...
                </div>
            </ProgressTemplate>
        </des:DSUpdateProgress>
        <table width="100%" cellpadding="0" cellspacing="0">
            <tr>
                <td align="center" class="DisplayPanel">
                    <telerik:RadSplitter ID="MainSplitter" runat="server" Height="540" Width="100%">
                        <telerik:RadPane ID="ProjectsPane" Scrolling="Both" Width="25%" PersistScrollPosition="true" runat="server">
                            <asp:HiddenField ID="ProjectTreeHolder" runat="server" />
                            <telerik:RadGrid ID="ProjectGrid" runat="server">
                                <ClientSettings >
                                    <Selecting AllowRowSelect="true" />
                                    <Scrolling AllowScroll="false" />
                                </ClientSettings>
                                <MasterTableView Width="100%" AutoGenerateColumns="false" ClientDataKeyNames="Level,BaseID,StateMode" DataKeyNames="ID" HeaderStyle-Wrap="false">
                                    <Columns>
                                        <telerik:GridTemplateColumn HeaderText=" " UniqueName="ProjectColumn" ItemStyle-Wrap="false">
                                            <ItemTemplate>
                                                <input type="hidden" id="ID" runat="server" value='<%# DataBinder.Eval(Container,"DataItem.ID")%>' />
                                                <input type="hidden" id="ParentID" runat="server" value='<%# DataBinder.Eval(Container,"DataItem.ParentID")%>' />
                                                <input type="hidden" id="Level" runat="server" value='<%# DataBinder.Eval(Container,"DataItem.Level")%>' />
                                                <input type="hidden" id="Lineage" runat="server" value='<%# DataBinder.Eval(Container,"DataItem.Lineage")%>' />
                                                <input type="hidden" id="HasChildren" runat="server" value='<%# DataBinder.Eval(Container,"DataItem.HasChildren")%>' />
                                                <span style="text-decoration:none;"><%#DataBinder.Eval(Container, "DataItem.Padding")%></span>
                                                <asp:Image ID="ProjectOpenCloseImg" runat="server" />
                                                <des:DisableLinkButton ID="ProjectSelectBtn" OnCommand="ProjectSelectBtn_OnCommand" Text='<%# DataBinder.Eval(Container,"DataItem.NameLong")%>' CommandArgument='<%# DataBinder.Eval(Container,"DataItem.ID")%>' CausesValidation="true" runat="server"></des:DisableLinkButton>
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridBoundColumn HeaderText="Manager" DataField="Manager.DisplayName" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"></telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="Start Date" DataFormatString="{0:d}" DataField="StartDate" HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn HeaderText="End Date" DataFormatString="{0:d}" DataField="EndDate" HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                        <telerik:GridTemplateColumn HeaderText="Active" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="center">
                                            <ItemTemplate>
                                                <asp:Image runat="server" Visible='<%# DataBinder.Eval(Container,"DataItem.IsActive")%>' ID="IsActiveImg" ImageUrl="~/images/check.gif" />
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn HeaderText="Child Weight" UniqueName="ChildWeight" ItemStyle-Wrap="false"  HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:Label ID="ChildWeightLbl" runat="server"></asp:Label>%
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn HeaderText="Previous %" UniqueName="PreviousPercent" ItemStyle-Wrap="false"  HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:Label ID="PercentPreviousLbl" runat="server"></asp:Label>%
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn HeaderText="%" UniqueName="Percent" ItemStyle-Wrap="false"  HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:TextBox ID="PercentTxt" CssClass="label" Width="30px" runat="server"></asp:TextBox>%
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridTemplateColumn HeaderText=" " UniqueName="PercentSlider" ItemStyle-Wrap="false" HeaderStyle-Width="5px">
                                            <ItemTemplate>
                                                <telerik:RadSlider ID="PercentSlider" runat="server"></telerik:RadSlider>
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridBoundColumn HeaderText="Budget" DataFormatString="{0:c}" DataField="CalculatedBudgetTotalCost" HeaderStyle-HorizontalAlign="Center"  ItemStyle-HorizontalAlign="Center"></telerik:GridBoundColumn>
                                    </Columns>
                                </MasterTableView>
                            </telerik:RadGrid>
                        </telerik:RadPane>
                        <telerik:RadSplitBar ID="MainSplitBar" CollapseMode="None" EnableResize="True" runat="server" />
                        <telerik:RadPane ID="DetailsPane" Scrolling="Both" Width="75%" PersistScrollPosition="true" runat="server">
                            <uc1:EarnedValueReportSection ID="EarnedValueReportSec" runat="server" />
                        </telerik:RadPane>
                    </telerik:RadSplitter>
                </td>
            </tr>
            <tr>
                <td class="TabDisplayFooter" align="right">
                    <des:disablelinkbutton id="CloseBtn" runat="server" enabledcssclass="CommandButton" disabledcssclass="DisabledCommandButton" Visible="True"></des:disablelinkbutton>
                </td>
            </tr>
        </table>
    </ContentTemplate>
</asp:updatepanel>

I would have preferred to just get the value of the slider instead of having to put the value in the textbox....
Dave Myers
Top achievements
Rank 1
 answered on 22 Oct 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?