Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
158 views
hello 

How to fire Radgrid Selectedindexchange event  on Arrow  Up/down keys press click event

I want to assign Radgrid cells value to  corresponding textboxex on up/dpwn arrow keys press


thanks


Eyup
Telerik team
 answered on 13 Aug 2014
3 answers
326 views
Hi! I've been trying to use RadUpload.Net2 using a simple .aspx page, but i'm getting a null reference for the next line of code

UploadedFile file = RadUploadContext.Current.UploadedFiles[File1.UniqueID];
whne using the following controls:
<input id="File1" type="file" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" Enabled="true" OnClick="Button1_Click"/>
<radUpload:RadProgressManager runat="server" ID="Radprogressmanager"/>
<radUpload:RadProgressArea ID="RadProgressArea1" runat="server" />
I'm using IIS 7.5 with the DefaultAppPool , .Net 4.0 Integrated. The WebConfig is as follows:
<configuration>
  <appSettings>
    <add key="Telerik.WebControls.RadControlsDir" value="~/Resources/RadControls/" />
    <add key="Telerik.WebControls.RadUpload.TempFolder" value="D:\Projects\ODW\Temp\Upload" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="RadUpload.Net2, Version=2.4.1.0, Culture=neutral, PublicKeyToken=B4E93C26A31A21F0" />
        <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <pages enableEventValidation="false" validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
    <httpRuntime maxRequestLength="30240" executionTimeout="10" />
    <!--<httpModules>
      <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b4e93c26a31a21f0" />
    </httpModules>
    <httpHandlers>
      <add verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b4e93c26a31a21f0" validate="false" />
    </httpHandlers>-->
    <trace enabled="false" pageOutput="false" requestLimit="40" localOnly="false" />
    <authorization>
        <allow users="*" />
    </authorization>
    <trust level="Full" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="RadUploadModule" type="Telerik.WebControls.RadUploadHttpModule, RadUpload.Net2, Version=2.4.1.0, Culture=neutral, PublicKeyToken=b4e93c26a31a21f0" preCondition="integratedMode" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <add name="Telerik_RadUploadProgressHandler_ashx" verb="*" path="Telerik.RadUploadProgressHandler.aspx" type="Telerik.WebControls.RadUploadProgressHandler, RadUpload.Net2, Version=2.4.1.0, Culture=neutral, PublicKeyToken=b4e93c26a31a21f0" preCondition="integratedMode" />
    </handlers>
    </system.webServer>
</configuration>



The handler is registered in IIS. I've tried it on classic .Net app pools an it's still not working.




Adrian
Top achievements
Rank 1
 answered on 13 Aug 2014
8 answers
293 views
Hello,
I have a RadGrid that has filtering enabled for a DateTime column.
I'm building this in code behind:

GridDateTimeColumn colEffectiveDate = new GridDateTimeColumn();
            radGridViewSearch.MasterTableView.Columns.Add(colEffectiveDate);
            colEffectiveDate.FilterListOptions = GridFilterListOptions.VaryByDataType;
            colEffectiveDate.DataField = "Effective_Date";
            colEffectiveDate.HeaderText = "Effective Date";
            colEffectiveDate.AllowFiltering = true;
            colEffectiveDate.AutoPostBackOnFilter = false;
            colEffectiveDate.FilterControlWidth = Unit.Pixel(200);
            colEffectiveDate.HeaderStyle.Width = Unit.Pixel(200);
            colEffectiveDate.DataFormatString = "{0:d}";


The problem is that the filter icon keeps gettign placed below the date time picker:(see attached image)


as you can see by the code I've tried to set the widths several times but have not been successful.
Each time I set the width, the Textbox in the column filter just gets wider.

Any ideas how
Eyup
Telerik team
 answered on 13 Aug 2014
1 answer
119 views
When any new file is uploaded to sub directory, back button stops working.

The controls takes that sub directory as it's root directory.

Please help.
Vessy
Telerik team
 answered on 13 Aug 2014
1 answer
240 views
hello, 
is it possible to hide an empty row or column ?
Eyup
Telerik team
 answered on 13 Aug 2014
6 answers
158 views
Hi

We use visual studio 2008 with Telerik 2012 Q2. We are facing few minor issues with Masked Text Box. This happens only in IE. 

Masked Text Box


when we enter first letter in the masked text box. text box is hidden.



when we enter second letter in the masked text box. is shows again.



How to fix this issue? 








Manivannan
Top achievements
Rank 1
 answered on 13 Aug 2014
5 answers
582 views
I want to extend the length of this control to the entire length of the table that it's contained in.
How is the best done, javascript when it builds the calender event(s) or just using CSS.
I couldn't find any examples my code is below..

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <link href="styles/jjma_local.css" type="text/css" rel="stylesheet" />
    <title>Task Calendar View</title>
    <script type="text/javascript" >
        function showEvent(sender, eventArgs)
        {
            var id=eventArgs.get_appointment().get_id();
            var ids=id.split("%");
            if(ids.length===2)
                window.open("MainForm.aspx?type=taskDetails&LookID="+ids[0] + "&hullID=" + ids[1], "_blank");
            else
                alert("An unknown error has occurred.  The calendar will be unable to forward you to the task you have selected.");
        }
    </script>
</head>
<body class="FramedFormBodyStyle" style="margin: inherit 5px 3px inherit;">
    <form id="TaskCalendarView" runat="server">
    <asp:ScriptManager ID="scptMgr" runat="server">
    </asp:ScriptManager>
        <div>
            <telerik:RadScheduler ID="rschdTasks" runat="server" AllowDelete="False"  
                SelectedView="MonthView" ShowViewTabs="false"  OnAppointmentDataBound="rschdTasks_OnAppointmentDataBound"
                AllowEdit="False" AllowInsert="False" MonthVisibleAppointmentsPerDay="10"  ShowFooter="false"
                NumberOfHoveredRows="20" ReadOnly="True" Skin="Telerik" Height="400px" onclientappointmentclick="showEvent" 
                EnableAdvancedForm="False"  >
                <MonthView AdaptiveRowHeight="True" ReadOnly="True" VisibleAppointmentsPerDay="20" MinimumRowHeight="2" />
                <Localization AdvancedAllDayEvent="All day"></Localization>
                <AdvancedForm DateFormat="M/d/yyyy" TimeFormat="h:mm tt" Enabled="False"></AdvancedForm>
            </telerik:RadScheduler>
        </div>
    </form>
</body>
</html>


Boyan Dimitrov
Telerik team
 answered on 13 Aug 2014
1 answer
279 views
Hi, I am using RadWindowManager to raise a popup message to show some text. You can observe the attached image, I have small length message. but Popup is very big & spacious. Popup box should be comfort fit to the text in the box. CAn you please tell me, how to remove the spaces in the box & it has fit the size as per to the length of the message. I mean AutoSize. I used AutoSize but not worked. below i have given the code how I used it.


aspx:
<telerik:RadWindowManager ID="WindowManager" runat="server" AutoSize="true" AutoSizeBehaviors="Default" />

C#:
WindowManager.RadAlert("Updates were successfull",
                                          null,
                                          null,
                                         "Success Message",
                                          null);

Output:
See the Attached Image

Please let me know, how to use autosize ?

Thanks in advance.








Marin Bratanov
Telerik team
 answered on 13 Aug 2014
2 answers
193 views
Hi Guys,

I'm having a bit of a problem with my javascript not occurring after the radgrid has one item in edit mode. I'm using editforms with a custom user control to display the data needed. I've got the exact same code on several other pages and there it works 100% fine. 

My radgrid displays all the items and whenever i want to edit a item I right click and it will display the Context Menu with options to either edit, remove or enable based on the status of a item.

ASPX:

<%@ Page Title="" Language="C#" MasterPageFile="~/SystemSettings.Master" AutoEventWireup="true" CodeBehind="mergefields.aspx.cs" Inherits="CT_Administer_Website.mergefields" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <script>
        function RowContextMenu(sender, eventArgs) {
            var menu = $find("<%=cmuMergeFieldsMenu.ClientID %>");
            var evt = eventArgs.get_domEvent();

            if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") {
                return;
            }

            var index = eventArgs.get_itemIndexHierarchical();
            document.getElementById("<%= radGridClickedRowIndex.ClientID %>").value = index;

            sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);

            menu.show(evt);

            evt.cancelBubble = true;
            evt.returnValue = false;

            if (evt.stopPropagation) {
                evt.stopPropagation();
                evt.preventDefault();
            }
        }



        function OnClientContextMenuShowing(sender, args) {
            var rowindex = document.getElementById("<%= radGridClickedRowIndex.ClientID %>").value;
            var DataItem = $find("<%= rgdMergeFields.ClientID %>").get_masterTableView().get_dataItems()[rowindex];
            var keyValues = DataItem.getDataKeyValue("_Active");

            document.getElementById("<%= radGridClickedRowValue.ClientID %>").value = DataItem.getDataKeyValue("_MergeFieldID");
            var nodeActiveState = keyValues;

            var menu = $find("<%= cmuMergeFieldsMenu.ClientID %>");

            if (nodeActiveState == "False") {
                menu.findItemByValue("Remove").hide();
                menu.findItemByValue("Enable").show();
            } else {
                menu.findItemByValue("Enable").hide();
                menu.findItemByValue("Remove").show();
            }
        }

        function OnClientItemClicked(sender, args) {
            var itemValue = args.get_item().get_value();
            var menu = $find("<%= cmuMergeFieldsMenu.ClientID %>");

            if (itemValue == "Remove") {
                if (confirm("Are you sure you want to remove the selected Merge Field?") == true) {

                }
                else {
                    menu.hide();
                    eventArgs.set_cancel(true);
                }
            }
            else if (itemValue == "Enable") {
                if (confirm("Are you sure you want to enable the selected Merge Field?") == true) {

                }
                else {
                    menu.hide();
                    eventArgs.set_cancel(true);
                }
            }
        }
    </script>
    <div style="position: absolute; top: 1px; left: 0px; width: 100%;">
        <telerik:RadGrid ID="rgdMergeFields" runat="server" ViewStateMode="Disabled" AutoGenerateColumns="False"
            ClientSettings-Resizing-AllowColumnResize="false" AllowPaging="True" AllowSorting="True"
            PageSize="25" ResolvedRenderMode="Classic" OnItemDataBound="rgdMergeFields_ItemDataBound"
            OnPageIndexChanged="rgdMergeFields_PageIndexChanged" OnItemCommand="rgdMergeFields_ItemCommand"
            OnNeedDataSource="rgdMergeFields_NeedDataSource" OnUpdateCommand="rgdMergeFields_UpdateCommand">
            <MasterTableView DataKeyNames="_MergeFieldID" ClientDataKeyNames="_Active, _MergeFieldID"
                AllowCustomPaging="false" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
                <CommandItemSettings AddNewRecordImageUrl="icon/plus.png" ShowRefreshButton="False" />
                <RowIndicatorColumn Visible="False">
                </RowIndicatorColumn>
                <ExpandCollapseColumn Created="True">
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridTemplateColumn HeaderText="Status" UniqueName="_Status">
                        <HeaderStyle Width="8%" />
                        <ItemTemplate>
                            <asp:Image ID="imgStatus" runat="server" Height="16px" Width="16px" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridBoundColumn DataField="_MergeFieldName" FilterControlAltText="Filter _MergeFieldName column"
                        HeaderText="Merge Field" SortExpression="_MergeFieldName" UniqueName="_MergeFieldName">
                        <HeaderStyle Width="60%" />
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="_LastUpdated" FilterControlAltText="Filter _LastUpdated column"
                        HeaderText="Last Updated" SortExpression="_LastUpdated" UniqueName="_LastUpdated">
                        <HeaderStyle Width="32%" />
                    </telerik:GridBoundColumn>
                </Columns>
                <EditFormSettings EditFormType="WebUserControl" FormStyle-BackColor="Black" UserControlName="editForms/MergeFieldsControl.ascx">
                </EditFormSettings>
            </MasterTableView>
            <ClientSettings>
                <ClientEvents OnRowContextMenu="RowContextMenu" />
                <Selecting AllowRowSelect="true" />
            </ClientSettings>
            <PagerStyle Mode="NextPrev" PageButtonCount="5" />
        </telerik:RadGrid>
        <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" runat="server" />
        <input type="hidden" id="radGridClickedRowValue" name="radGridClickedRowValue" runat="server" />
        <telerik:RadContextMenu ID="cmuMergeFieldsMenu" runat="server" EnableRoundedCorners="true"
            EnableShadows="true" OnClientShowing="OnClientContextMenuShowing" OnClientItemClicked="OnClientItemClicked"
            OnItemClick="cmuMergeFieldsMenu_ItemClick">
            <Items>
                <telerik:RadMenuItem Text="Edit" Value="Edit">
                </telerik:RadMenuItem>
                <telerik:RadMenuItem Text="Remove" Value="Remove">
                </telerik:RadMenuItem>
                <telerik:RadMenuItem Text="Enable" Value="Enable">
                </telerik:RadMenuItem>
            </Items>
        </telerik:RadContextMenu>
    </div>
    <telerik:RadNotification ID="rdnNotification" runat="server" Position="Center" Title="Please Note!"
        AutoCloseDelay="0" ResolvedRenderMode="Classic">
    </telerik:RadNotification>
</asp:Content>


Code Behind:

using System;
using System.Linq;
using System.Web.UI.WebControls;
using Telerik.Web.UI;

namespace CT_Administer_Website
{
    public partial class mergefields : System.Web.UI.Page
    {
        Administer_WCFService.MergeFieldsClient wcf = new Administer_WCFService.MergeFieldsClient();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["LoginUser"] != null)
            {
                permissions.permissions p = (permissions.permissions)Session["Permissions"];
                rgdMergeFields.DataSource = wcf.DisplayMergeFields(p.ViewInactives);
                rgdMergeFields.DataBind();
            }
            else
            {
                Response.Redirect("login.aspx");
            }
        }

        protected void rgdMergeFields_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            if (e.CommandName.Equals(RadGrid.InitInsertCommandName))
            {
                e.Item.Edit = true;
                e.Item.OwnerTableView.Rebind();
            }
        }

        protected void rgdMergeFields_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            try
            {
                //Add an icon to the Grid items to show as a status
                if (e.Item is GridDataItem)
                {
                    Administer_WCFService.ct_MergeFields dataSourceRow = (Administer_WCFService.ct_MergeFields)e.Item.DataItem;
                    GridDataItem dataItem = (GridDataItem)e.Item;

                    Image newImage = dataItem.FindControl("imgStatus") as Image;
                    //tick.png for Enabled & cross.png for Disabled
                    newImage.ImageUrl = dataSourceRow._Active.Equals(true) ? "icon/tick.png" : "icon/cross.png";
                }
            }
            catch
            {
                rdnNotification.Title = Resources.MyGlobalResource.NotificationTitle_FatalError;
                rdnNotification.Show(Resources.MyGlobalResource.NotificationMessage_FatalError);
            }
        }

        protected void rgdMergeFields_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            permissions.permissions p = (permissions.permissions)Session["Permissions"];
            rgdMergeFields.DataSource = wcf.DisplayMergeFields(p.ViewInactives);
        }

        protected void rgdMergeFields_PageIndexChanged(object sender, Telerik.Web.UI.GridPageChangedEventArgs e)
        {
            try
            {
                rgdMergeFields.CurrentPageIndex = e.NewPageIndex;
            }
            catch
            {
                rdnNotification.Title = Resources.MyGlobalResource.NotificationTitle_FatalError;
                rdnNotification.Show(Resources.MyGlobalResource.NotificationMessage_FatalError);
            }
        }

        protected void rgdMergeFields_UpdateCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            permissions.permissions p = (permissions.permissions)Session["Permissions"];
            rgdMergeFields.DataSource = wcf.DisplayMergeFields(p.ViewInactives);
            rgdMergeFields.DataBind();
        }

        protected void cmuMergeFieldsMenu_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
        {
            try
            {
                //Context Menu Items
                if (e.Item.Value.Equals("Edit"))
                {
                    rgdMergeFields.Items[Convert.ToInt32(radGridClickedRowIndex.Value)].Edit = true;
                    rgdMergeFields.Items[Convert.ToInt32(radGridClickedRowIndex.Value)].OwnerTableView.Rebind();
                }
                else if (e.Item.Value.Equals("Enable"))
                {
                    //Enable a Disabled Report Profile
                    wcf.ChangeMergeFieldStatus(Convert.ToInt32(radGridClickedRowValue.Value), true, Request.Cookies["LoginUser"].Values["UserName"], Convert.ToInt32(Request.Cookies["LoginUser"].Values["UserID"]));
                    permissions.permissions p = (permissions.permissions)Session["Permissions"];
                    rgdMergeFields.DataSource = wcf.DisplayMergeFields(p.ViewInactives);
                    rgdMergeFields.DataBind();
                }
                else if (e.Item.Value.Equals("Remove"))
                {
                    //Disable an Enabled Report Profile
                    int result = wcf.ChangeMergeFieldStatus(Convert.ToInt32(radGridClickedRowValue.Value), false, Request.Cookies["LoginUser"].Values["UserName"], Convert.ToInt32(Request.Cookies["LoginUser"].Values["UserID"]));
                    permissions.permissions p = (permissions.permissions)Session["Permissions"];
                    rgdMergeFields.DataSource = wcf.DisplayMergeFields(p.ViewInactives);
                    rgdMergeFields.DataBind();

                    if (result.Equals(2))
                    {
                        rdnNotification.Show("Disabled");
                    }
                    else
                    {
                        rdnNotification.Show("Removed");
                    }
                }
            }
            catch
            {
                rdnNotification.Title = Resources.MyGlobalResource.NotificationTitle_FatalError;
                rdnNotification.Show(Resources.MyGlobalResource.NotificationMessage_FatalError);
            }
        }
    }
}

Thanks in advance


Carlos
Top achievements
Rank 2
 answered on 13 Aug 2014
4 answers
217 views
Hello,

I have a page that populates a RadGrid on load.  The end user has the option to check a box within one or more grid rows.  Upon click of a button, I want to initiate concurrent Ajax requests (one for each row) and allow the page to update (each row) based on when these concurrent requests complete -- which should happen at different times, i.e., it will take varying times for the command to complete for each row.

I have increased the RequestQueueSize on my AjaxManager control to 1000 (I am reading that the real number is considerably lower, i.e, around 4).  That said, it still appears that each request is only made after the previous is complete.  Here is my javascript that makes the ajax request.  I basically iterate over the grid rows, find some relevant controls (a checkbox representing the user selection and an image to show a spinner icon) and then make the request.

        function doCommand(button, args) {
            var grid = $find('<%=myGrid.ClientID %>');
            var masterTable = grid.get_masterTableView();
            var items = masterTable.get_dataItems();

            for (var n = 0; n < items.length; n++) {
                var row = items[n];
                var chkBox = row.findElement("chkCheckStatus");
                var img = row.findElement("myImg");

                if (null != chkBox) {
                    if (chkBox.checked) {
                        var selectedID = row.getDataKeyValue("ID");
                        if (null != img) {
                            img.src = "i/loader.gif";
                        }
                        var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
                        ajaxManager.ajaxRequest("cmd/" + n + "/" + selectedID);
                    }
                }
                else {
                    window.status = "Didn't find the control!";
                }
            }
        }

I handle the ajax call in the RadAjaxManager1_AjaxRequest server side method.  All of this works.

Is there any way for me to fire off many of these requests (sequentially as I iterate the grid rows) and then see the results come in as the commands complete, e.g., row 5 might finish before row 1 because the server side processing for row 5 took longer than row 1?
Maria Ilieva
Telerik team
 answered on 13 Aug 2014
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?