Telerik Forums
UI for ASP.NET AJAX Forum
6 answers
452 views
Do you please have an example or instructions for how I can send the uploaded fiel as an attachment instead of just uploading it to a file on the server?

Thank you very much

B.
$uren
Top achievements
Rank 1
 answered on 20 Feb 2012
1 answer
52 views
Dear Telerik,

  I want change the TextBox  "txtCPICur" value,when change RadComboBox selectvalue,but I can't get this Textbox in Grid EditForm,
  How can get it ?
  Please help...... 

<EditFormSettings EditFormType="Template">
                                    <FormTemplate>
                                        <div class="form">
  
                                                        <telerik:RadComboBox ID="rcbMaster" HighlightTemplatedItems="true" AutoPostBack="True"
                                                            Filter="Contains" EmptyMessage="Search for Tariff Master..." OnSelectedIndexChanged="rcbMaster_SelectedIndexChanged"
                                                            runat="server">
                                                        </telerik:RadComboBox>
                                    <asp:TextBox ID="txtCPICur" Enabled="false" CssClass="text_box" runat="server"></asp:TextBox>
                      </div>
                                    </FormTemplate>
</EditFormSettings>
Shinu
Top achievements
Rank 2
 answered on 20 Feb 2012
2 answers
73 views

Team

 

I am using rad combobox in my application for searching.

Whenever user type something in combobox it shows me related data.

I have used OnItemsRequested event for this.

I am having requirement that result drop down won’t show up until I type 3 charactors in combobox

I am using OnClientItemsRequesting event as follow to suppressed OnItemsRequested event.

 

  function onItemsRequesting(sender, eventArgs) {

            if (eventArgs.get_text().length < 3) {

                sender.hideDropDown();

                eventArgs.set_cancel(true);

            }

            else {

                sender._loadingMessage = "Searching for " + eventArgs.get_text() + "...";

            }

         }

I am using telerik V2011.3.1115.40

Initially combo doesn’t contain any items. It is working fine first time but whenever I remove the characters & number of characters  become to 2 & press another letter even then it shows me previous result for few seconds & then shows proper result. Is there any reason for this?

Can you please let me know how to remove all the items of the radcombobox in OnClientItemsRequesting event?

It might resolve the problem.

If you have any other resolution for this please let me know.

Sampada
Top achievements
Rank 1
 answered on 20 Feb 2012
1 answer
179 views
We have a problem with RadAjaxManagerProxy with user controls. We changed the physical ASPX pages into ASCX controls and we load them from a single Default.aspx page. We use RadGrid together with RadComboBox controls to implement filtering and data loading into the grid.

When the pages containing the grid were hosted in a single ASPX page, they worked ok.

When the pages were converted into ASCX controls, we had to put a RadAjaxManagerProxy in them to refer to the master RadAjaxManager inside the master page. However, we have issues when the controls are interacted with.

One concrete example of the error we face is this one:

  • We have a User Control (First.ascx) with a RadGrid and a second ASCX nested inside. Both controls are set as updated by a RadAjaxManagerProxy.
  • This second ASCX control (Filter.ascx) has a RadComboBox and the control class exposes a public property to let the parent control get its filtered value. This control also has a RadAjaxManagerProxy, updating the combo boxes.
  • A Default.aspx page loads the first control and displays it OK (the grid and the nested user control). When we change the combo box value (this is inside the second user control), the loading panel is displayed (as expected) but it never ends. The server-side event for the RadComboBox is correctly processed and ends but the loading panel still shows the loading animation.
  • When the First.ascx was First.aspx (with the same markup and codebehind), the Filter.ascx behave correctly. The error began when we changed it into ASCX.

The other error we face is when we export a RadGrid contents as an Excel file with ExportToExcel method, the method executes but no result is shown to the browser. When the ASCX control having the grid with RadAjaxManagerProxy was a standalone ASPX page with RadAjaxManager, the export was done well.

It seems that somehow the RadAjaxManager doesn't get notified when the postback ends.
Tsvetina
Telerik team
 answered on 20 Feb 2012
5 answers
79 views
I am trying to set up my grid so that when a user clicks "Edit" on a row, the same position of the row is retained when the grid is reloaded in edit mode.

I tried implementing the code from http://www.telerik.com/help/aspnet-ajax/grid-scroll-to-selected-item.html, but when I did so, my grid ended up only two rows high.

I would like the height of the grid to be variable, based on however high the total number of rows are.  How can I keep my grid the entire height of the page and still be able to retain the scrolling position on edit?

Thank you.


Pavlina
Telerik team
 answered on 20 Feb 2012
1 answer
112 views
I have  5 rad charts on one page. I would like to do 2 charts 2 charts and 1 chart or 3 charts and then 2 charts. I have tried multiple ways, the most recent was just using a table. It looks ok but it seems like it is putting a bunch of space between the charts. Any idea what could be causing that?
Evgenia
Telerik team
 answered on 20 Feb 2012
3 answers
199 views

I have a asp.net page with a RadGrid and RadTabStrip on it.
On RadGrid_ItemSelected of the the RadGrid , the RadTabStrip selected index is set to 0 & RadMultiPage selected index is also set to 0.

RadTabStrip1.SelectedIndex = 0;

 

RadMultiPage1.SelectedIndex = 0;

RadPageView1.Selected = true;

 

The first tab is getting selected, but the controls in RadPageView1 are not loaded.
Instead the controls on RadPageView2 (the other tab) are showing up.



Dimitar Terziev
Telerik team
 answered on 20 Feb 2012
1 answer
465 views
Hello everyone,

I have one page this is showing various error in several cases one of them is Invalid JSON primitive error while enabling the RadAjaxManager and other is while changing the tab of RadTabStrip second tab shows blank data.

Here is my code of aspx and cs:

<%@ Page Title="" Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true"
    Trace="true" CodeBehind="TaskList.aspx.cs" Inherits="xx.Web.TaskList"
    MaintainScrollPositionOnPostback="true" %>

<%@ MasterType VirtualPath="~/Main.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <link href="../css/Tooltip.css" rel="stylesheet" type="text/css" />
    <%--<script src="Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.jgrowl_minimized.js" type="text/javascript"></script>--%>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div class="right_top">
        <table border="0" cellpadding="0" cellspacing="0" style="float: left; padding: 10px 0 0 10px;
            width: 100%;">
            <tr>
                <td>
                    <asp:Label ID="lblFeedback" Text="" ForeColor="Green" Font-Bold="true" runat="server" />
                    <span id="lblAjaxFeedback"></span>
                </td>
            </tr>
            <tr>
                <td>
                    <telerik:RadTabStrip ID="TaskViewRadTabStrip" SelectedIndex="0" runat="server" Skin="Windows7"
                        MultiPageID="TaskMultiPage" AutoPostBack="true">
                        <Tabs>
                            <telerik:RadTab Text="Calendar View">
                            </telerik:RadTab>
                            <telerik:RadTab Text="List View">
                            </telerik:RadTab>
                        </Tabs>
                    </telerik:RadTabStrip>
                </td>
            </tr>
        </table>
        <div class="clear">
        </div>
    </div>
    <div class="right_middle">
        <div class="right_middle_inner">
            <telerik:RadMultiPage ID="TaskMultiPage" runat="server" SelectedIndex="0">
                <telerik:RadPageView ID="CalendarPageView" runat="server">
                    <%--<telerik:RadButton ID="btnScheduler" ButtonType="LinkButton" Text="List View" runat="server"
                            OnClick="btnScheduler_Click" Font-Bold="True" Font-Underline="True">
                        </telerik:RadButton>--%>
                    <table>
                        <tr>
                            <td style="width: 170px;">
                                <telerik:RadComboBox ID="rcbUser" runat="server" DataTextField="Value" DataValueField="Id"
                                    CheckBoxes="true" EnableCheckAllItemsCheckBox="true" EmptyMessage="Choose User(s)"
                                    Width="150px" OnDataBound="rcbUser_DataBound" AutoPostBack="true" OnSelectedIndexChanged="Filter_SelectedIndexChanged">
                                </telerik:RadComboBox>
                            </td>
                            <td style="width: 225px;">
                                <telerik:RadComboBox ID="rcbTimeFrame" runat="server" Width="100px" AutoPostBack="true"
                                    OnSelectedIndexChanged="Filter_SelectedIndexChanged">
                                </telerik:RadComboBox>
                                <asp:CheckBox ID="chkWeekend" Text="Hide Weekend" runat="server" AutoPostBack="true"
                                    Style="padding: 3px 0;" />
                            </td>
                            <td style="width: 240px;">
                                <telerik:RadComboBox ID="rcbJob" runat="server" DataTextField="Value" EmptyMessage="Choose Job(s)"
                                    DataValueField="Id" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" Width="220px"
                                    AutoPostBack="true" OnSelectedIndexChanged="Filter_SelectedIndexChanged">
                                </telerik:RadComboBox>
                            </td>
                            <td>
                                <telerik:RadComboBox ID="rcbJobStatus" runat="server" DataTextField="Value" EmptyMessage="Choose Status(s)"
                                    DataValueField="Id" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" Width="110px"
                                    AutoPostBack="true" OnSelectedIndexChanged="Filter_SelectedIndexChanged">
                                </telerik:RadComboBox>
                            </td>
                        </tr>
                    </table>
                    <div class="tasks_main">
                        <div class="tasks_bg">
                            <div class="task_title">
                                Calendar
                            </div>
                            <div class="task_right" style="margin: 3px 4px 0 0; width: auto;">
                                <div class="newtask">
                                    <telerik:RadButton ID="btnCAdd" ButtonType="LinkButton" Text="Add New Task" OnClientClicked="openEditTaskWin"
                                        AutoPostBack="false" runat="server">
                                    </telerik:RadButton>
                                </div>
                            </div>
                            <div class="clear">
                            </div>
                        </div>
                        <div class="task_bot_inner">
                            <telerik:RadScheduler ID="TaskRadScheduler" runat="server" Height="500px" CustomAttributeNames="JobId,
                                PName, Title, UserId, UName, IsComplete" DataKeyField="TaskContactId" DataSubjectField="Title"
                                DataStartField="StartDate" DataEndField="DueDate" OnAppointmentCreated="TaskRadScheduler_AppointmentCreated"
                                RowHeight="55px" OnDataBound="TaskRadScheduler_DataBound" Skin="Windows7" SelectedView="DayView"
                                AllowInsert="false" AllowDelete="false" AllowEdit="false" OnClientAppointmentClick="OnClientAppointmentClick"
                                OnClientAppointmentDoubleClick="OnClientAppointmentDoubleClick" OnNavigationComplete="TaskRadScheduler_NavigationComplete"
                                OnAppointmentDataBound="TaskRadScheduler_AppointmentDataBound" ShowNavigationPane="false"
                                Width="100%" UserSelectable="false" ShowHoursColumn="false" ShowAllDayRow="true"
                                ShowFooter="false">
                                <MonthView AdaptiveRowHeight="true" VisibleAppointmentsPerDay="50" />
                                <AppointmentTemplate>
                                    <div style="height: 50px;">
                                        <div style="float: left;">
                                            #<asp:Literal ID="taskJobId" runat="server" Text='<%# Bind("JobId") %>'></asp:Literal>
                                            &nbsp;-&nbsp;
                                        </div>
                                        <div style="float: left;">
                                            <asp:Literal ID="taskPropOwner" runat="server" Text='<%# Eval("PName") %>'></asp:Literal>
                                        </div>
                                        <div style="clear: both; height: 5px;">
                                        </div>
                                        <asp:Literal ID="taskTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Literal>
                                        <div style="border-top: 1px solid #000; border-collapse: collapse;">
                                            <div>
                                                <asp:Literal ID="taskContact" runat="server" Text='<%# Eval("UName") %>'></asp:Literal>
                                            </div>
                                        </div>
                                    </div>
                                </AppointmentTemplate>
                                <TimeSlotContextMenuSettings EnableDefault="false" />
                                <AppointmentContextMenuSettings EnableDefault="false" />
                            </telerik:RadScheduler>
                        </div>
                        <div style="padding: 5px 0;" align="right">
                            <telerik:RadComboBox ID="rcbViews" runat="server" DataTextField="Value" EmptyMessage="Choose a Saved View"
                                DataValueField="Id" Width="200px" OnSelectedIndexChanged="rcbViews_SelectedIndexChanged"
                                MarkFirstMatch="True" AutoPostBack="true">
                            </telerik:RadComboBox>
                            &nbsp;
                            <telerik:RadButton ID="btnSaveView" ButtonType="StandardButton" Text="Save View"
                                runat="server" CssClass="saveButton">
                            </telerik:RadButton>
                        </div>
                        <telerik:RadToolTip ID="rttSchedulerAppointment" runat="server" RelativeTo="Element"
                            Position="BottomCenter" AutoCloseDelay="0" ShowEvent="FromCode" Width="410px">
                            <div id="tootipContainer">
                                <div style="width: 400px;">
                                    <div id="ttHeader">
                                        <div class="tooltipLeftCorner">
                                            <a href="#"><span id="ttTaskTitle">Install Drywall</span></a>
                                        </div>
                                        <div class="tooltipRightCorner">
                                            <span id="ttTaskID">Task #72</span>
                                        </div>
                                        <div class="clear" />
                                    </div>
                                    <div id="ttDetail">
                                        <div class="tooltipDescription">
                                            <span id="ttDescription">The drywall needs to be installed before due date. The drywall
                                                needs to be installed before due date. The drywall needs to be installed before
                                                due date. </span>
                                        </div>
                                        <div class="ttTaskScheduleDetail">
                                            <ul class="ttScheduleList">
                                                <li>
                                                    <div>
                                                        <span class="ttScheduleListTitle">Assigned To:&nbsp</span><span id="ttAName" class="Right"></span>
                                                    </div>
                                                </li>
                                                <li>
                                                    <div>
                                                        <span class="ttScheduleListTitle">Start Date:&nbsp</span><span id="ttSDate" class="Right"></span>
                                                    </div>
                                                </li>
                                                <li>
                                                    <div>
                                                        <span class="ttScheduleListTitle">Due Date:&nbsp</span><span id="ttDDate" class="Right"></span>
                                                    </div>
                                                </li>
                                                <li>
                                                    <div>
                                                        <span class="ttScheduleListTitle">Reminder:&nbsp</span><span id="ttRDate" class="Right"></span>
                                                    </div>
                                                </li>
                                            </ul>
                                        </div>
                                        <div class="ttTaskJobDetail" id="ttTaskJobDetail">
                                            <div class="ttTaskJobLeftPan">
                                                <div>
                                                    <a href="#"><span id="ttPropOwner">John Dongerfield</span></a>
                                                </div>
                                                <div class="Clear">
                                                </div>
                                                <div>
                                                    <span id="ttJobAddress">fdsfd fdf ds</span>
                                                </div>
                                            </div>
                                            <div class="ttTaskJobRightPan">
                                                <ul class="ttScheduleList">
                                                    <li><span id="ttJobId">#71</span></li>
                                                    <li><span id="ttJobType">Lead</span></li>
                                                    <li><span id="ttJobStatus">Active</span></li>
                                                </ul>
                                            </div>
                                            <div class="clear">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="ttTools" align="right" id="ttTools">
                                    </div>
                                </div>
                            </div>
                        </telerik:RadToolTip>
                    </div>
                </telerik:RadPageView>
                <telerik:RadPageView ID="ListPageView" runat="server">
                    <div class="rcbTaskFilter" style="float: left; padding: 5px 5px 0 0;">
                        <%--<telerik:RadButton ID="btnCalendar" ButtonType="LinkButton" Text="Calendar View"
                                runat="server" OnClick="btnCalendar_Click" Font-Bold="True" Font-Underline="True">
                            </telerik:RadButton>--%>
                    </div>
                    <div class="rcbTaskFilter" style="float: right;">
                        <telerik:RadComboBox ID="rcbTaskFilter" runat="server" AutoPostBack="true" AllowCustomText="false"
                            IsCaseSensitive="false" MarkFirstMatch="true" OnSelectedIndexChanged="rcbTaskFilter_SelectedIndexChanged">
                            <Items>
                                <telerik:RadComboBoxItem Text="Incomplete" Value="0" Selected="true" />
                                <telerik:RadComboBoxItem Text="Complete" Value="1" />
                                <telerik:RadComboBoxItem Text="Both" Value="2" />
                            </Items>
                        </telerik:RadComboBox>
                    </div>
                    <div style="float: right; padding: 5px 5px 0 5px;">
                        Filter
                    </div>
                    <div class="clear">
                    </div>
                    <telerik:RadGrid ID="TasksRadGrid" runat="server" OnNeedDataSource="TasksRadGrid_NeedDataSource"
                        GridLines="None" AllowPaging="True" AllowSorting="True" CellSpacing="0" AllowAutomaticUpdates="false"
                        AllowAutomaticInserts="false" AllowAutomaticDeletes="false" AllowFilteringByColumn="true"
                        Skin="Windows7" AutoGenerateColumns="False" OnItemCreated="TasksRadGrid_ItemCreated"
                        OnItemCommand="TasksRadGrid_ItemCommand" OnItemDataBound="TasksRadGrid_ItemDataBound"
                        OnDeleteCommand="TasksRadGrid_DeleteCommand" OnInsertCommand="TasksRadGrid_InsertCommand"
                        OnUpdateCommand="TasksRadGrid_UpdateCommand" ShowHeader="true">
                        <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" />
                        <MasterTableView AutoGenerateColumns="False" EditMode="PopUp" DataKeyNames="Id" AllowAutomaticDeletes="true"
                            CommandItemDisplay="Top">
                            <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
                            <CommandItemTemplate>
                                <table width="100%">
                                    <tr>
                                        <td width="30%">
                                            <h2>
                                                Tasks</h2>
                                        </td>
                                        <td width="40%">
                                        </td>
                                        <td width="15%" align="right">
                                            <telerik:RadButton ID="btnFilter" ButtonType="ToggleButton" AutoPostBack="false"
                                                ToggleType="CustomToggle" OnClientToggleStateChanged="toggleFilter" runat="server">
                                                <Icon PrimaryIconUrl="~/images/Filter.gif" />
                                                <ToggleStates>
                                                    <telerik:RadButtonToggleState Selected="true" />
                                                    <telerik:RadButtonToggleState />
                                                </ToggleStates>
                                            </telerik:RadButton>
                                        </td>
                                        <td width="15%" align="left">
                                            <div class="newtask">
                                                <telerik:RadButton ID="btnAdd" ButtonType="LinkButton" Text="Add New Task" OnClientClicked="openEditTaskWin"
                                                    AutoPostBack="false" runat="server">
                                                </telerik:RadButton>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </CommandItemTemplate>
                            <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                                <HeaderStyle Width="20px"></HeaderStyle>
                            </RowIndicatorColumn>
                            <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                                <HeaderStyle Width="20px"></HeaderStyle>
                            </ExpandCollapseColumn>
                            <Columns>
                                <telerik:GridBoundColumn DataField="Id" UniqueName="Id" DataType="System.Int32" ReadOnly="True"
                                    Visible="false" />
                                <telerik:GridTemplateColumn DataField="IsComplete" HeaderText="Complete" UniqueName="IsComplete"
                                    DataType="System.Boolean" Visible="true" DefaultInsertValue="false" HeaderStyle-Width="30">
                                    <ItemTemplate>
                                        <telerik:RadButton ID="btnToggle2" runat="server" Checked='<%# Eval("IsComplete")  %>'
                                            CommandName="CompleteCommand" CommandArgument='<%# Eval("IsComplete")  %>' ToggleType="CheckBox"
                                            ButtonType="ToggleButton" AutoPostBack="true">
                                        </telerik:RadButton>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="LFCustomerFk" UniqueName="LFCustomerFk" DataType="System.Int32"
                                    Visible="false" Display="false" />
                                <telerik:GridBoundColumn DataField="JobFk" UniqueName="JobFk" DataType="System.Int32"
                                    Visible="false" Display="false" />
                                <telerik:GridTemplateColumn DataField="Title" HeaderText="Title" SortExpression="Title"
                                    UniqueName="Title" DataType="System.String">
                                    <ItemTemplate>
                                        <asp:HyperLink ID="btnTaskTitle" runat="server" NavigateUrl="#" Text='<%# Eval("Title") %>'
                                            onclick='<%# Eval("Id","openEditTaskWin({0})") %>' />
                                        <%# (Eval("JobFk") != null) ? " <a class=\"sublink\" href='/jobs/default.aspx?jobid=" + Eval("Job.Id") + "'>Job #" + Eval("Job.Id") + " - " + Eval("Job.Contact.FirstName") + " " + Eval("Job.Contact.LastName") + "</a>" : ""%>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="Account.Name" SortExpression="Account.Name" HeaderText="Assigned To"
                                    Display="false" />
                                <telerik:GridBoundColumn DataField="DueDate" DataFormatString="{0:MM/dd/yyyy}" HeaderText="Due"
                                    SortExpression="DueDate" UniqueName="DueDate" DataType="System.DateTime" MaxLength="100"
                                    HeaderStyle-Width="60" />
                                <telerik:GridBoundColumn DataField="Description" HeaderText="Description" SortExpression="Description"
                                    UniqueName="Description" DataType="System.String" MaxLength="500" />
                                <telerik:GridBoundColumn DataField="ReminderType" UniqueName="ReminderType" DataType="System.Int16"
                                    Display="false" />
                                <telerik:GridBoundColumn DataField="ReminderDate" DataFormatString="{0:MM/dd/yyyy}"
                                    UniqueName="ReminderDate" DataType="System.DateTime" Display="false" />
                                <telerik:GridBoundColumn DataField="ReminderSent" UniqueName="ReminderSent" DataType="System.Boolean"
                                    Display="false" />
                                <telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="110px" HeaderText="Manage">
                                    <ItemTemplate>
                                        <asp:HyperLink ID="btnEditTask" runat="server" NavigateUrl="#" Text="Edit" onclick='<%# Eval("Id","openEditTaskWin({0})") %>' />&nbsp;|&nbsp;
                                        <asp:LinkButton ID="btnDeleteTask" runat="server" ButtonType="LinkButton" Text="Delete"
                                            CommandName="Delete" UniqueName="DeleteColumn" OnClientClick="return confirm('Are you sure you want to delete this task?');" />
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                            </Columns>
                        </MasterTableView>
                        <ClientSettings>
                            <ClientEvents OnGridCreated="OnGridCreated" />
                        </ClientSettings>
                        <FilterMenu EnableImageSprites="False">
                        </FilterMenu>
                        <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
                        </HeaderContextMenu>
                    </telerik:RadGrid>
                </telerik:RadPageView>
            </telerik:RadMultiPage>
        </div>
        <telerik:RadCodeBlock ID="s" runat="server">
            <script type="text/javascript" language="javascript">
                function callNow() {
                    $('.radTemplateDay_Default').mouseover(function () {
                        //showToolTip(this);
                    });
                }

                function OnClientAppointmentClick(sender, args) {
                    var apt = args.get_appointment();
                    showTooltip(apt);
                }
                function AjaxError(result) {
                    var err = eval("(" + result.responseText + ")");

                    if (err.Message == "Thread was being aborted.") {
                        $.jGrowl("Session expired.  Redirecting to login page.", { header: 'Error', sticky: true });
                        window.setTimeout(function () {
                            var curpage = document.location.href.replace(document.location.protocol + "//" + document.location.host, "");
                            top.location = document.location.protocol + "//" + document.location.host + "/login.aspx?refer=" + curpage;
                        }, 2000);
                    }
                    else {
                        $.jGrowl(err.Message, { header: 'Error', sticky: true });
                    }
                }
                function AjaxFailure(result) {
                    var err = eval("(" + result.responseText + ")");
                    $.jGrowl("Failure: " + result.status + " - " + result.statusText, { header: 'Error', sticky: true });
                }

                function showTooltip(apt) {
                    $.ajax({
                        type: "POST",
                        url: "/TaskList.aspx/GetTooltipTaskDetails",
                        data: "{'taskContactId': " + apt.get_id() + "}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        error: AjaxError,
                        failure: AjaxFailure,
                        beforeSend: function () {
                            //alert("send");
                        },
                        success: function (jsData) {
                            var data = eval(jsData.d);
                            if (data) {
                                $("#ttTaskTitle").text(data.Title);
                                $("#ttTaskID").text(data.Id);
                                $("#ttDescription").text(data.Description);
                                $("#ttAName").text(data.aName);
                                $("#ttSDate").text(data.sDate);
                                $("#ttDDate").text(data.dDate);
                                $("#ttRDate").text(data.eDate);
                                $("#ttPropOwner").text(data.pName);
                                $("#ttJobAddress").text(data.pAddress);
                                $("#ttJobId").text(data.jId);
                                $("#ttJobType").text(data.jType);
                                $("#ttJobStatus").text(data.jStatus);
                                $("#ttTools").html("");
                                $("#ttTools").append("<a href='#' onclick='openEditTaskWin(" + data.TaskId + ")' >Edit </a>");
                                $("#ttTools").append("&nbsp;&nbsp;<a href='#' onclick='completeTaskWithCheck(" + data.TaskId + ")' >Complete</a>");
                                $("#ttTools").append("&nbsp;&nbsp;<a href='#' onclick='deleteTaskWithCheck(" + data.TaskId + ")' >Delete</a>");

                                if (data.pName == "") {
                                    $("#ttTaskJobDetail").css("display", "none");
                                }
                                else {
                                    //$("#ttTaskJobDetail").css("background-color", apt.getAttribute("color"));
                                }
                                var tooltip = $find('<%=rttSchedulerAppointment.ClientID %>');
                                tooltip.set_targetControl(apt.get_element());
                                tooltip.set_text($get("tootipContainer").innerHTML);
                                //tooltip.set_text("<span>Error occured while retrieving data from server.</span>");
                                //setTimeout(function () {
                                tooltip.show();
                                //}, 20);

                            }
                        },
                        complete: function () {
                        }
                    });
                }

                function hideToolTip() {
                    var tooltip = $find('<%=rttSchedulerAppointment.ClientID %>');
                    if (tooltip)
                        tooltip.hide();

                    //var scheduler = $find('<%=TaskRadScheduler.ClientID %>');
                    //scheduler.rebind();
                }
                function OnClientAppointmentDoubleClick(sender, args) {
                    return false;
                    //args.set_cancel(true);
                }
                function deleteTaskWithCheck(taskId) {
                    var answer = confirm("Are you sure you want to delete this task?");
                    if (answer) {
                        $.ajax({
                            type: "POST",
                            url: "/TaskList.aspx/DeleteTask",
                            data: "{'id': " + taskId + "}",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            error: AjaxError,
                            failure: AjaxFailure,
                            success: function (jsData) {
                                var data = jsData.d;
                                hideToolTip();
                                $("#lblAjaxFeedback").text(data.message);
                                $("#lblAjaxFeedback").css("color", data.color);
                                $("#lblAjaxFeedback").fadeOut(2500);
                            },
                            beforeSend: function () { },
                            complete: function () {

                            }
                        });
                    }
                    return false;
                }

                function completeTaskWithCheck(taskId) {
                    var answer = confirm("Are you sure you want to mark this task complete?");
                    if (answer) {
                        $.ajax({
                            type: "POST",
                            url: "/TaskList.aspx/CompleteTask",
                            data: "{'id': " + taskId + "}",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            error: AjaxError,
                            failure: AjaxFailure,
                            success: function (jsData) {
                                var data = jsData.d;
                                hideToolTip();
                                $("#lblAjaxFeedback").text(data.message);
                                $("#lblAjaxFeedback").css("color", data.color);
                                $("#lblAjaxFeedback").fadeOut(2500);
                            },
                            beforeSend: function () { },
                            complete: function () {
                            }
                        });
                    }

                    return false;
                }
            </script>
        </telerik:RadCodeBlock>
        <telerik:RadCodeBlock ID="DefaultCodeBlock" runat="server">
            <script type="text/javascript">
                function refreshTaskList() {
                    // This is to rebind the task list

                }
            </script>
        </telerik:RadCodeBlock>
        <telerik:RadWindowManager ID="RadWindowManager1" KeepInScreenBounds="true" ShowContentDuringLoad="false"
            VisibleStatusbar="false" ReloadOnShow="true" runat="server" Skin="Windows7" EnableShadow="true"
            AutoSize="true" BorderStyle="None" VisibleOnPageLoad="false" Behaviors="Move,Close"
            Modal="true">
            <Windows>
                <telerik:RadWindow ID="EditTasktDialog" runat="server" Title="Add Task" NavigateUrl="/AddTask.aspx" />
                <telerik:RadWindow ID="TaskViewDialog" runat="server" Title="Save View">
                    <ContentTemplate>
                        <div style="padding: 20px;">
                            <div style="text-align: center; width: 400px; height: 50px;">
                                <telerik:RadComboBox ID="rcbSaveView" runat="server" DataTextField="Value" DataValueField="Id"
                                    Width="300px" MarkFirstMatch="true" AllowCustomText="true" AppendDataBoundItems="true"
                                    EmptyMessage="Enter a new view or select an exisitng view to update">
                                </telerik:RadComboBox>
                                <asp:RequiredFieldValidator ID="rfView" runat="server" ErrorMessage="View is required"
                                    ControlToValidate="rcbSaveView" ForeColor="Red" Display="Dynamic" ValidationGroup="lf">
                                </asp:RequiredFieldValidator>
                            </div>
                            <div align="center">
                                <telerik:RadButton ID="btnSave" ButtonType="StandardButton" Text="Save" runat="server"
                                    CssClass="saveButton" OnClick="btnSave_Click" UseSubmitBehavior="false">
                                </telerik:RadButton>
                                &nbsp;
                                <telerik:RadButton ID="btnCancel" ButtonType="StandardButton" Text="Close" runat="server"
                                    CausesValidation="false" OnClientClicked="CloseCurrentWindow" CssClass="cancelButton">
                                </telerik:RadButton>
                            </div>
                        </div>
                    </ContentTemplate>
                </telerik:RadWindow>
            </Windows>
        </telerik:RadWindowManager>
        <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
            <script src="/Scripts/RadGridSupport.js" type="text/javascript"></script>
            <script type="text/javascript">
                function ShowFilter() {
                    var masterTable = $find("<%= TasksRadGrid.ClientID %>").get_masterTableView();
                    masterTable.showFilterItem();
                    createCookie("ShowGridFilter", 1, 30);
                }
                function HideFilter() {
                    var masterTable = $find("<%= TasksRadGrid.ClientID %>").get_masterTableView();
                    masterTable.hideFilterItem();
                    createCookie("ShowGridFilter", 0, 30);
                }

                function openEditTaskWin(id) {
                    hideToolTip();

                    if (id != 0) {
                        var oWnd = radopen("/AddTask.aspx?taskid=" + id, "EditTasktDialog");
                    }
                    else {
                        var oWnd = radopen("/AddTask.aspx", "EditTasktDialog");
                    }
                    return false;
                }

                function CloseCurrentWindow(button, args) {
                    CloseTaskViewDialog();
                    button.set_autoPostBack(false);
                }

                function CloseTaskViewDialog() {
                    oWnd = $find("<%=TaskViewDialog.ClientID%>");
                    oWnd.Close();
                }
            </script>
        </telerik:RadCodeBlock>
    </div>
    <%--<telerik:RadAjaxManager ID="RadAjaxManagerTask" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="rcbTaskFilter">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rcbTaskFilter" />
                    <telerik:AjaxUpdatedControl ControlID="TasksRadGrid" LoadingPanelID="RadAjaxTaskLoading" />
                    <telerik:AjaxUpdatedControl ControlID="lblFeedback" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="TasksRadGrid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TasksRadGrid" LoadingPanelID="RadAjaxTaskLoading" />
                    <telerik:AjaxUpdatedControl ControlID="lblFeedback" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="TaskRadScheduler">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rcbUser">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rcbJob" />
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rcbTimeFrame">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="chkWeekend">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rcbJob">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rcbJobStatus">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rcbViews">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="btnSave">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskRadScheduler" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="TaskViewRadTabStrip">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="TaskMultiPage" LoadingPanelID="RadAjaxTaskLoading" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>--%>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxTaskLoading" runat="server" />
</asp:Content>

================================================================================================

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;
using System.Web.UI.HtmlControls;
using Telerik.Web.UI.Calendar.View;
using System.Data.SqlClient;
using System.Data;
using System.Web.Services;
using System.Web.Script.Serialization;
using System.Globalization;
using System.Drawing;

namespace xx.Web
{
    public partial class TaskList : System.Web.UI.Page
    {
        Data.xxModelContainer context = new Data.xxModelContainer();
        Dictionary<DateTime, string> listDate = new Dictionary<DateTime, string>();
        Core.AuthManager _authManager;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                FillSchedulerControls();
            }
            Session["JOBID"] = null;
            lblFeedback.Text = "";
            int lfCust = Convert.ToInt32(Session["LFCUSTOMERID"]);

            if (!IsPostBack) TasksRadGrid.MasterTableView.IsFilterItemExpanded = false;

            if (Session["ADD_TASK"] != null)
            {
                if (Session["ADD_TASK"].ToString() == "1")
                    lblFeedback.Text = "Task has been successfully added.";
                else
                    lblFeedback.Text = "Task has been successfully saved.";

                lblFeedback.ForeColor = System.Drawing.Color.Green;
                Session.Remove("ADD_TASK");
            }

            var rsTask = (from q in context.TaskContacts where q.Task.IsDeleted == false && q.ContactFk == lfCust select q.Task);
            foreach (var task in rsTask)
            {
                DateTime day = Convert.ToDateTime(task.DueDate).Date;
                if (listDate.ContainsKey(day))
                {
                    listDate[day] = listDate[day] + Convert.ToDateTime(task.DueDate).ToString("hh:mm tt") + ", " + task.Title + "<br/>";
                }
                else
                {
                    listDate.Add(day, Convert.ToDateTime(task.DueDate).ToString("hh:mm tt") + ", " + task.Title + "<br/>");
                }
            }

            if (Request.QueryString["taskid"] != null)
            {
                WebTools.Authentication.AuthManager authManager = new WebTools.Authentication.AuthManager();
                int loggedin = authManager.GetUserId(Page);
                Data.UserAccount ua = Master.DbContext.UserAccounts.Where(q => q.Id == loggedin).FirstOrDefault();

                Int32 id = Int32.Parse(Request.QueryString["taskid"].ToString());
                if (id > 0)
                {
                    var taskContact = Master.DbContext.TaskContacts.Where(q => q.TaskFk == id && q.Task.IsDeleted == false && q.ContactFk ==
                            (Master.DbContext.UserAccounts.Where
                                (d => d.Id == loggedin).FirstOrDefault().ContactFk
                        )).FirstOrDefault();

                    if (taskContact != null)
                    {
                        Session["nopermission"] = "nopermission";
                        Response.Redirect("~/Default.aspx");
                    }
                }
            }

            if (!IsPostBack)
            {
                int id = -1;
                try
                {
                    id = Int32.Parse(Session["LFCUSTOMERID"].ToString());
                }
                catch
                {
                    id = -1;
                }

                if (id == -1)
                {
                    Response.Redirect("Default.aspx");
                }
                /*
                                var data = (from q in Master.DbContext.UserAccounts where q.LFCustomerFk == id select q);
                                foreach (var user in data.Distinct())
                                {
                                    RadComboBoxItem item = new RadComboBoxItem();
                                    item.Text = user.Contact != null ? user.Contact.FirstName : "";
                                    item.Value = user.Id.ToString();
                                    rcbUserFilter.Items.Add(item);
                                    item.DataBind();
                                }
                */
                if (Session["PageView"] != null && Session["ADD_TASK"] != null)
                {
                    AddPageView(Session["PageView"].ToString());
                }
            }

            TaskViewDialog.OpenerElementID = btnSaveView.ClientID;
            ScriptManager.RegisterStartupScript(this, typeof(Page), "Panel", "callNow();", true);
        }

        int randomColorCount = 0;
        protected void rcbUser_DataBound(object sender, EventArgs e)
        {
            foreach (RadComboBoxItem item in rcbUser.Items)
            {
                item.BackColor = Color.FromName(((xx.Core.RandomColor)(randomColorCount)).ToString());

                randomColorCount++;
                if (randomColorCount == 90)
                    randomColorCount = 0;
            }
        }
        protected void Filter_SelectedIndexChanged(object sender, EventArgs e)
        {
            GetTasks();
        }
        protected void TaskRadScheduler_DataBound(object sender, EventArgs e)
        {
            foreach (ResourceType resType in TaskRadScheduler.ResourceTypes)
            {

                resType.AllowMultipleValues = true;

            }
        }
        protected void TaskRadScheduler_AppointmentCreated(object sender, AppointmentCreatedEventArgs e)
        {
            if (e.Appointment.RecurrenceState == RecurrenceState.Master || e.Appointment.RecurrenceState == RecurrenceState.Occurrence)
            {
                Panel recurrenceStateDiv = new Panel();
                recurrenceStateDiv.CssClass = "rsAptRecurrence";
                e.Container.Controls.AddAt(0, recurrenceStateDiv);
            }
            if (e.Appointment.RecurrenceState == RecurrenceState.Exception)
            {
                Panel recurrenceStateDiv = new Panel();
                recurrenceStateDiv.CssClass = "rsAptRecurrenceException";
                e.Container.Controls.AddAt(0, recurrenceStateDiv);
            }
        }
        private void GetTasks()
        {
            try
            {
                _authManager = new Core.AuthManager();
                if (Request.QueryString["taskid"] != null)
                {
                    int id = int.Parse(Request.QueryString["taskid"].ToString());
                    var tasks = from q in Master.DbContext.TaskContacts
                                where q.Task.IsDeleted == false
                                && q.TaskFk == id
                                orderby q.Task.StartDate descending
                                select new
                                {
                                    TaskContactId = q.Id,
                                    JobId = q.Task.JobFk == null ? 0 : q.Task.JobFk,
                                    PName = (String.IsNullOrEmpty(q.Task.Job.Contact.FirstName) ? "" : q.Task.Job.Contact.FirstName + " ")
                                        + (String.IsNullOrEmpty(q.Task.Job.Contact.LastName) ? "" : q.Task.Job.Contact.LastName),
                                    Title = q.Task.Title,
                                    UserId = q.ContactFk,
                                    UName = (String.IsNullOrEmpty(q.Contact.FirstName) ? "" : q.Contact.FirstName + " ")
                                        + (String.IsNullOrEmpty(q.Contact.LastName) ? "" : q.Contact.LastName),
                                    StartDate = q.Task.StartDate,
                                    DueDate = q.Task.DueDate,
                                    IsComplete = q.Task.IsComplete
                                };

                    TaskRadScheduler.DataSource = tasks;
                    TaskRadScheduler.DataBind();
                }
                else
                {
                    List<int?> users = new List<int?>();
                    foreach (var item in rcbUser.CheckedItems)
                    {
                        users.Add(Convert.ToInt32(String.IsNullOrEmpty(item.Value) ? "0" : item.Value));
                    }

                    string[] dates = rcbTimeFrame.SelectedValue.Split('-');
                    DateTime startDate = Convert.ToDateTime(dates[0]);
                    DateTime dueDate = Convert.ToDateTime(dates[1]);
                    if (chkWeekend.Checked)
                    {
                        TaskRadScheduler.FirstDayOfWeek = DayOfWeek.Monday;
                        TaskRadScheduler.LastDayOfWeek = DayOfWeek.Friday;
                    }
                    else
                    {
                        TaskRadScheduler.FirstDayOfWeek = DayOfWeek.Monday;
                        TaskRadScheduler.LastDayOfWeek = DayOfWeek.Sunday;
                    }

                    List<int?> jobs = new List<int?>();
                    foreach (var item in rcbJob.CheckedItems)
                    {
                        jobs.Add(Convert.ToInt32(String.IsNullOrEmpty(item.Value) ? "0" : item.Value));
                    }

                    List<int?> jobstatuses = new List<int?>();
                    foreach (var item in rcbJob.CheckedItems)
                    {
                        jobstatuses.Add(Convert.ToInt32(String.IsNullOrEmpty(item.Value) ? "0" : item.Value));
                    }
                    var test = from q in Master.DbContext.TaskContacts
                               where q.Task.IsDeleted == false
                               && (q.Task.StartDate < q.Task.DueDate)
                               //&& (q.Contact.LFCustomerFk == Master.LFCustomerFk)
                               select q;

                    var tasks = from q in Master.DbContext.TaskContacts
                                where q.Task.IsDeleted == false
                                && (q.Task.StartDate < q.Task.DueDate)
                                && (q.Contact.LFCustomerFk == _authManager.CustomerFk)
                                //&& users.Contains(q.ContactFk)
                                //&& (q.Task.Job
                                //&& q.Task
                                orderby q.Task.StartDate descending
                                select new
                                {
                                    TaskContactId = q.Id,
                                    JobId = q.Task.JobFk == null ? 0 : q.Task.JobFk,
                                    PName = (String.IsNullOrEmpty(q.Task.Job.Contact.FirstName) ? "" : q.Task.Job.Contact.FirstName + " ")
                                        + (String.IsNullOrEmpty(q.Task.Job.Contact.LastName) ? "" : q.Task.Job.Contact.LastName),
                                    Title = q.Task.Title,
                                    UserId = q.ContactFk,
                                    UName = (String.IsNullOrEmpty(q.Contact.FirstName) ? "" : q.Contact.FirstName + " ")
                                        + (String.IsNullOrEmpty(q.Contact.LastName) ? "" : q.Contact.LastName),
                                    StartDate = q.Task.StartDate,
                                    DueDate = q.Task.DueDate,
                                    IsComplete = q.Task.IsComplete
                                };

                    TaskRadScheduler.DataSource = tasks;
                    TaskRadScheduler.DataBind();
                }
            }
            catch
            {
                lblFeedback.ForeColor = Color.Red;
                lblFeedback.Text = "Error in loading Task Calendar.";
            }
        }
        protected void SaveTaskCalendarView()
        {
            try
            {
                _authManager = new Core.AuthManager();
                Data.TaskCalendarSavedView cView = new Data.TaskCalendarSavedView();
                cView.UserAccountFk = _authManager.UserFk;
                cView.ViewName = rcbSaveView.Text;
                cView.UserSettings = String.Join(",", rcbUser.CheckedItems.Select(d => d.Value).ToList().ToArray());
                cView.TimeframeSettings = rcbTimeFrame.SelectedIndex.ToString();
                cView.JobSettings = String.Join(",", rcbJob.CheckedItems.Select(d => d.Value).ToList().ToArray());
                cView.JobStatusSettings = String.Join(",", rcbJobStatus.CheckedItems.Select(d => d.Value).ToList().ToArray());
                cView.DateUpdated = DateTime.Now;
                int iTaskCalendarView = Core.AppManager.SaveTaskCalendarView(cView);
                if (iTaskCalendarView > 0)
                {
                    lblFeedback.Text = "View successfully saved.";
                    lblFeedback.ForeColor = System.Drawing.Color.Green;
                }
                else
                {
                    lblFeedback.Text = "Unable to save View.";
                    lblFeedback.ForeColor = System.Drawing.Color.Red;
                }
            }
            catch (Exception exc)
            {
                Core.AppManager.NotifyAdmin("Unable to save Task Calnedar View.", exc);
                lblFeedback.Text = "Unable to save View. xx has been notified and will fix this asap.";
                lblFeedback.ForeColor = System.Drawing.Color.Red;
            }
        }
        protected void TasksRadGrid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            if (Request.QueryString["taskid"] != null)
            {
                int id = int.Parse(Request.QueryString["taskid"].ToString());
                var data = from q in Master.DbContext.TaskContacts
                           where q.Task.IsDeleted == false && q.TaskFk == id
                            && (rcbTaskFilter.SelectedValue == "2" || q.Task.IsComplete == (rcbTaskFilter.SelectedValue == "1" ? true : false))
                           orderby q.Task.DueDate descending
                           select q.Task;

                TasksRadGrid.DataSource = data;
            }
            else
            {
                //var data = (from q in Master.DbContext.Tasks.Include("UserAccount").Include("Contact")
                //            where (from u in Master.DbContext.UserAccounts where u.LFCustomerFk == Master.LFCustomerFk select u.Id).Contains(q.UserAccountFk)
                //                && (rcbTaskFilter.SelectedValue == "2" || q.IsComplete == (rcbTaskFilter.SelectedValue == "1" ? true : false))
                //            select q);
                //TasksRadGrid.DataSource = data;

                // Don't need to write too much code. [Ankit | 08 Feb, 2012].
                /*
                int[] ids = (from u in Master.DbContext.UserAccounts where u.LFCustomerFk == Master.LFCustomerFk select u.Id).ToArray();

                var Fdata = (from q in Master.DbContext.Tasks.Include("UserAccount").Include("Contact").Include("Job")
                             where (rcbTaskFilter.SelectedValue == "2" || q.IsComplete == (rcbTaskFilter.SelectedValue == "1" ? true : false) && ids.Contains((int)q.UserAccountFk))
                             select q).ToList();
                */
                var data = (from q in Master.DbContext.TaskContacts
                            where q.Task.IsDeleted == false && (q.Contact.LFCustomerFk == Master.LFCustomerFk
                             && ((rcbTaskFilter.SelectedValue == "2" || q.Task.IsComplete == (rcbTaskFilter.SelectedValue == "1" ? true : false))))
                            orderby q.Task.DueDate descending
                            select q.Task).ToList();

                data = data.Where(param => param != null).OrderByDescending(q => q.DueDate).ToList();
                TasksRadGrid.DataSource = data;

            }
        }

        private void AddPageView(string pageViewID)
        {
            try
            {
                if (Session["PageView"].ToString() == "PageView1")
                {
                    CalendarPageView.Selected = true;
                }
                else
                {
                    ListPageView.Selected = true;
                }
            }
            catch (Exception exc)
            {
                Core.AppManager.NotifyAdmin("Unable to AddPageView.", exc);
            }

        }

        void cb_CheckedChanged(object sender, System.EventArgs e)
        {
            RadWindowManager1.RadAlert("checked changed", 200, 200, "", "");
        }

        /*
        protected void rcbUserFilter_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            if (rcbUserFilter.SelectedValue == "All")
            {
                int lfCust = Convert.ToInt32(Session["LFCUSTOMERID"]);
                var rsTaskContacts = from q in context.TaskContacts
                                     where q.Task.IsDeleted == false
                                      && q.Contact.LFCustomerFk == lfCust
                                     select q;
                listDate.Clear();
                listTask.Clear();
                foreach (var tc in rsTaskContacts)
                {
                    DateTime day = Convert.ToDateTime(tc.Task.DueDate).Date;
                    if (listDate.ContainsKey(day))
                    {
                        listDate[day] = listDate[day] + Convert.ToDateTime(tc.Task.DueDate).ToString("hh:mm tt") + ", " + tc.Task.Title + "<br/>";
                    }
                    else
                    {
                        listDate.Add(day, Convert.ToDateTime(tc.Task.DueDate).ToString("hh:mm tt") + ", " + tc.Task.Title + "<br/>");
                    }
                }
            }
            else
            {
                int selUser = Convert.ToInt32(rcbUserFilter.SelectedValue);
                int lfCust = Convert.ToInt32(Session["LFCUSTOMERID"]);
                var rsTaskContacts = from q in context.TaskContacts
                                     where q.Task.IsDeleted == false
                                      && q.Contact.LFCustomerFk == lfCust && q.ContactFk == (
                                        from d in context.UserAccounts
                                        where d.Id == selUser
                                        select d.ContactFk
                                     ).FirstOrDefault()
                                     select q;
                listDate.Clear();
                listTask.Clear();
                foreach (var tc in rsTaskContacts)
                {
                    DateTime day = Convert.ToDateTime(tc.Task.DueDate).Date;
                    if (listDate.ContainsKey(day))
                    {
                        listDate[day] = listDate[day] + Convert.ToDateTime(tc.Task.DueDate).ToString("hh:mm tt") + ", " + tc.Task.Title + "<br/>";
                    }
                    else
                    {
                        listDate.Add(day, Convert.ToDateTime(tc.Task.DueDate).ToString("hh:mm tt") + ", " + tc.Task.Title + "<br/>");
                    }
                }
            }

        }
        */

        protected void TasksRadGrid_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                GridDataItem item = e.Item as GridDataItem;
                bool IsComplete = (bool)DataBinder.Eval(item.DataItem, "IsComplete");

                if (IsComplete)
                    item["Title"].Style.Add("text-decoration", "line-through");
            }
        }
        protected void TasksRadGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            /*if (e.Item is GridDataItem )
            {
                GridDataItem item = e.Item as GridDataItem;
                CheckBox cb = (CheckBox)item.FindControl("chkIsComplete");
                cb.AutoPostBack = true;
                cb.CheckedChanged += new System.EventHandler(cb_CheckedChanged);
            }*/

            if (e.Item is GridCommandItem)
            {
                // ShowOrHide Filter Row
                GridCommandItem commandItem = e.Item as GridCommandItem;
                RadButton button = commandItem.FindControl("btnFilter") as RadButton;
                button.SelectedToggleStateIndex = (xx.Core.AppManager.ReadCookie("ShowGridFilter") == "1" ? 1 : 0);
            }


        }


        protected void TasksRadGrid_ItemCommand(object source, GridCommandEventArgs e)
        {

            if (e.CommandName == "CompleteCommand")
            {
                GridDataItem dataItem = (GridDataItem)e.Item;
                int id = int.Parse(dataItem["Id"].Text.ToString());
                Boolean IsComplete = Convert.ToBoolean(e.CommandArgument.ToString());

                try
                {
                    var ob = (from q in context.Tasks
                              where q.Id == id
                              select q).FirstOrDefault();
                    ob.IsComplete = !IsComplete;
                    context.Tasks.ApplyCurrentValues(ob);
                    context.SaveChanges();

                    TasksRadGrid.Rebind();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

        }

        protected void rcbTaskFilter_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            TasksRadGrid.Rebind();
        }

        protected void TaskRadScheduler_AppointmentDataBound(object sender, SchedulerEventArgs e)
        {
            string userId = Convert.ToString(e.Appointment.Attributes["UserId"]);
            RadComboBoxItem item = rcbUser.Items.FindItemByValue(userId);
            if (item != null)
            {
                e.Appointment.CssClass = "CustomAptContent";
                if (Convert.ToBoolean(e.Appointment.Attributes["IsComplete"]))
                {
                    e.Appointment.Attributes.Add("background-color", Color.LightGray.ToString());
                }
                else
                {
                    e.Appointment.BackColor = item.BackColor;
                }
            }
        }
        protected void TasksRadGrid_InsertCommand(object sender, GridCommandEventArgs e)
        {
            SaveTask(e);
        }

        protected void TasksRadGrid_UpdateCommand(object sender, GridCommandEventArgs e)
        {
            SaveTask(e);
        }


        protected void TasksRadGrid_DeleteCommand(object sender, GridCommandEventArgs e)
        {
            var editableItem = ((GridEditableItem)e.Item);
            int iId = (int)editableItem.GetDataKeyValue("Id");

            try
            {
                Core.AppManager.DeleteTask(iId);
                lblFeedback.Text = "Task has been successfully deleted.";
                lblFeedback.ForeColor = System.Drawing.Color.Green;
                //RadAjaxManager1.Alert0("Task was deleted with success!");
            }
            catch (Exception exc)
            {
                Core.AppManager.NotifyAdmin("Unable to delete task.", exc);
                RadWindowManager1.RadAlert("Unable to delete task. xx has been notified and will fix this asap.", 350, 200, "Task", "");
                lblFeedback.Text = "Unable to delete task. xx has been notified and will fix this asap.";
                lblFeedback.ForeColor = System.Drawing.Color.Red; ;
            }
        }


        private void SaveTask(GridCommandEventArgs e)
        {
            var editableItem = ((GridEditableItem)e.Item);

            UserControl editformControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
            HiddenField hdId = editformControl.FindControl("hdId") as HiddenField;
            Task ucTask = hdId.Parent as Task;

            Data.Task task = ucTask.DataObject;

            try
            {
                Core.AppManager.SaveTask(task, Master.LoggedInUserAccountFk, Master.LFCustomerFk);
                Core.AppManager.SaveTaskContacts(task.Id, ucTask.ContactIds, Master.LoggedInUserAccountFk);
                if (e.CommandName == "PerformInsert")
                    lblFeedback.Text = "Task has been successfully added.";
                else
                    lblFeedback.Text = "Task has been successfully saved.";
                lblFeedback.ForeColor = System.Drawing.Color.Green;
                //RadAjaxManager1.Alert0("Task was saved with success!");
            }
            catch (Exception exc)
            {
                Core.AppManager.NotifyAdmin("Unable to add task.", exc);
                RadWindowManager1.RadAlert("Unable to add task. xx has been notified and will fix this asap.", 350, 200, "Task", "");
                lblFeedback.Text = "Unable to add task. xx has been notified and will fix this asap.";
                lblFeedback.ForeColor = System.Drawing.Color.Red;
            }
        }

        protected void btnScheduler_Click(object sender, EventArgs e)
        {
            Session["PageView"] = "PageView1";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "Panel", "callNow();", true);
            AddPageView("0");
        }

        protected void btnCalendar_Click(object sender, EventArgs e)
        {
            Session["PageView"] = "PageView2";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "Panel", "callNow();", true);
            AddPageView("0");
        }

        public void bindresentactivities()
        {
            var activities = (from q in context.RecentActivities
                              where q.UserAccountFk == Master.LoggedInUserAccountFk
                              orderby q.DateCreated descending
                              select q).Take(5);
            Repeater repRecentActivities = (Repeater)Page.Master.FindControl("repRecentActivities");
            repRecentActivities.DataSource = activities;
            repRecentActivities.DataBind();
        }

        // Allows us to rebind the recent activity list from a radwindow.
        protected void TaskRadScheduler_NavigationComplete(object sender, SchedulerNavigationCompleteEventArgs e)
        {
            if (e.Command == SchedulerNavigationCommand.SwitchToMonthView)
            {
                TaskRadScheduler.AppointmentTemplate = new AppTemplate();
            }
        }

        protected void FillSchedulerControls()
        {
            FillSchedulerContacts();
            UpdateTimeFrameList();
            FillSchedulerJobs();
            FillSchedulerJobStatus();
            FillSchedulerViews();
            GetTasks();
        }

        protected void FillSchedulerContacts()
        {
            _authManager = new Core.AuthManager();

            var contacts = from q in context.Contacts
                           where q.IsUser == true || q.ContactType.TypeName == "Sub Contractor"
                            && q.LFCustomerFk == _authManager.CustomerFk
                           select new
                           {
                               q.Id,
                               Value = q.FirstName + " " + q.LastName
                           };

            rcbUser.DataSource = contacts;
            rcbUser.DataBind();
        }

        protected void FillSchedulerJobs()
        {
            var job = from q in context.Jobs
                      select new
                      {
                          q.Id,
                          Value = q.Contact.FirstName + " " + q.Contact.LastName
                      };
            List<object> lJob = new List<object>();
            foreach (var j in job)
            {
                lJob.Add(new { j.Id, Value = string.Format("{0} #{1}", j.Value, j.Id) });
            }

            rcbJob.DataSource = lJob;
            rcbJob.DataBind();
        }
        protected void FillSchedulerJobStatus()
        {

            var jStatus = from q in context.JobStatus
                          select new
                          {
                              q.Id,
                              Value = q.JobStatusName
                          };
            rcbJobStatus.DataSource = jStatus;
            rcbJobStatus.DataBind();
        }
        protected void FillSchedulerViews()
        {
            var view = from q in context.TaskCalendarSavedViews
                       where q.UserAccountFk == _authManager.UserFk
                       select new
                       {
                           q.Id,
                           Value = q.ViewName
                       };

            rcbViews.DataSource = view;
            rcbViews.DataBind();

            rcbSaveView.DataSource = view;
            rcbSaveView.DataBind();
        }

        protected void UpdateTimeFrameList()
        {
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Today", DateTime.Now.ToString("dd/MMM/yyyy") + "-" + DateTime.Now.ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("This Week", Core.AppManager.GetFirstDateOfWeek(DateTime.Now).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfWeek(DateTime.Now).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("This Month", Core.AppManager.GetFirstDateOfMonth(DateTime.Now).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfMonth(DateTime.Now).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Yesterday", DateTime.Now.AddDays(-1).ToString("dd/MMM/yyyy") + "-" + DateTime.Now.AddDays(-1).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Last Week", Core.AppManager.GetFirstDateOfWeek(DateTime.Now.AddDays(-7)).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfWeek(DateTime.Now.AddDays(-7)).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Last Month", Core.AppManager.GetFirstDateOfMonth(DateTime.Now.AddMonths(-1)).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfMonth(DateTime.Now.AddMonths(-1)).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Tomorrow", DateTime.Now.AddDays(1).ToString("dd/MMM/yyyy") + "-" + DateTime.Now.AddDays(1).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Next Week", Core.AppManager.GetFirstDateOfWeek(DateTime.Now.AddDays(7)).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfWeek(DateTime.Now.AddDays(7)).ToString("dd/MMM/yyyy")));
            rcbTimeFrame.Items.Add(new RadComboBoxItem("Next Month", Core.AppManager.GetFirstDateOfMonth(DateTime.Now.AddMonths(1)).ToString("dd/MMM/yyyy") + "-" + Core.AppManager.GetLastDateOfMonth(DateTime.Now.AddMonths(1)).ToString("dd/MMM/yyyy")));
        }
        protected void rcbViews_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            if (rcbViews.SelectedValue != null && rcbViews.SelectedValue != "")
            {
                LoadTaskByView(Convert.ToInt32(rcbViews.SelectedValue));
            }
        }
        protected void LoadTaskByView(int viewId)
        {
            var view = context.TaskCalendarSavedViews.Where(d => d.Id == viewId).FirstOrDefault();
            if (view != null)
            {
                // Set User checked item(s)
                List<string> users = view.UserSettings.Split(',').ToList();
                rcbUser.ClearCheckedItems();
                foreach (var user in users)
                {
                    var item = rcbUser.Items.FindItemByValue(user);
                    if (item != null)
                        rcbUser.CheckedItems.Add(item);
                }

                // Set TimeFrame selected index
                rcbTimeFrame.SelectedIndex = Convert.ToInt32(view.TimeframeSettings);

                // Set Job checked item(s)
                List<string> jobs = view.JobSettings.Split(',').ToList();
                rcbJob.ClearCheckedItems();
                foreach (var job in jobs)
                {
                    var item = rcbJob.Items.FindItemByValue(job);
                    if (item != null)
                        rcbJob.CheckedItems.Add(item);
                }

                // Set JobStatus checked item(s)
                List<string> jobStatuses = view.JobStatusSettings.Split(',').ToList();
                rcbJobStatus.ClearCheckedItems();
                foreach (var jobStatus in users)
                {
                    var item = rcbJobStatus.Items.FindItemByValue(jobStatus);
                    if (item != null)
                        rcbJobStatus.CheckedItems.Add(item);
                }

                GetTasks();
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            SaveTaskCalendarView();

            string script = "<script>CloseTaskViewDialog();</" + "script>";
            if (ScriptManager.GetCurrent(base.Page).IsInAsyncPostBack)
                ScriptManager.RegisterStartupScript(this, this.GetType(), "CloseTaskViewDialog", script.ToString(), false);
            else
                this.Page.ClientScript.RegisterStartupScript(this.GetType(), "CloseTaskViewDialog", script);
        }

        [WebMethod]
        public static object GetTooltipTaskDetails(int taskContactId)
        {
            try
            {
                Data.xxModelContainer _context = new Data.xxModelContainer();
                var data = (from q in _context.TaskContacts
                            where q.Id == taskContactId
                            select q).AsEnumerable();

                var task = from q in data
                           select new
                           {
                               q.Id,
                               TaskId = q.TaskFk,
                               q.Task.Title,
                               q.Task.Description,
                               aName = (String.IsNullOrEmpty(q.Contact.FirstName) ? "" : q.Contact.FirstName + " ")
                                       + (String.IsNullOrEmpty(q.Contact.LastName) ? "" : q.Contact.LastName),
                               sDate = String.Format("{0:MM/dd/yyyy}", q.Task.DateCreated),
                               dDate = String.Format("{0:MM/dd/yyyy}", q.Task.DueDate),
                               rDate = String.Format("{0:MM/dd/yyyy}", q.Task.ReminderDate),
                               pName = ((q.Task.Job != null) ?
                                    (String.IsNullOrEmpty(q.Task.Job.Contact.FirstName) ? "" : q.Task.Job.Contact.FirstName + " ")
                                  + (String.IsNullOrEmpty(q.Task.Job.Contact.LastName) ? "" : q.Task.Job.Contact.LastName)
                                  : ""),
                               pAddress = ((q.Task.Job != null) ?
                                   (String.IsNullOrEmpty(q.Contact.AddressLine1) ? "" : q.Contact.AddressLine1 + " ")
                                 + (String.IsNullOrEmpty(q.Contact.AddressLine2) ? "" : q.Contact.AddressLine2 + " ")
                                 + (String.IsNullOrEmpty(q.Contact.City) ? "" : q.Contact.City + " ")
                                 + (String.IsNullOrEmpty(q.Contact.State) ? "" : q.Contact.State + " ")
                                 + (String.IsNullOrEmpty(q.Contact.Zip) ? "" : q.Contact.Zip + " ")
                                 : ""),
                               jId = q.Task.JobFk != null ? Convert.ToString(q.Task.JobFk) : "",
                               jType = q.Task.Job != null ? q.Task.Job.JobType.TypeName : "",
                               jStatus = q.Task.Job != null ? q.Task.Job.JobStatu.JobStatusName : ""
                           };

                return task.FirstOrDefault();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        [WebMethod]
        public static object CompleteTask(int id)
        {
            object result;
            try
            {
                Core.AppManager.CompleteTask(id);
                result = new { color = "green", message = "Task marked completed successfully." };
            }
            catch
            {
                result = new { color = "red", message = "There are some error while marking Task." };
            }
            return result;
        }

        [WebMethod]
        public static object DeleteTask(int id)
        {
            object result;
            try
            {
                Core.AppManager.DeleteTask(id);
                result = new { color = "green", message = "Task has been successfully deleted." };
            }
            catch
            {
                result = new { color = "red", message = "There are some error while deleting Task." };
            }

            return result;
        }
    }
}

Please help me, I am looking for a solution.
Ivan Zhekov
Telerik team
 answered on 20 Feb 2012
1 answer
54 views

Hi This is Srinu   I want help in my share point application I used rad grid

I have two groups Owners and Members
I am using RadGrid for displaying Users, because we had a multiple options with Rad Grid.Enable Delete option in Rad Grid
Delete link should not display to Members group users. I should disply for Owners group users only
 Iam attaching my screenshot  for better understanding 

Marin
Telerik team
 answered on 20 Feb 2012
8 answers
396 views

Hello,

 

i am using Telerik Version Q1 2009.

In my RadGrid is a filter like that:

 <telerik:GridTemplateColumn DataField="BETRIEBSNR" HeaderText="Betriebsnr" UniqueName="BETRIEBSNR">

            <FilterTemplate>

                <telerik:RadComboBox ID="RadComboBox1" DataSourceID="SDS_FILTER_BETRIEBSNR" DataTextField="BETRIEBSNR"

                 DataValueField="BETRIEBSNR" AppendDataBoundItems="true"

                 SelectedValue='<%# TryCast(Container,GridItem).OwnerTableView.GetColumn("BETRIEBSNR").CurrentFilterValue %>'

                 runat="server" OnClientSelectedIndexChanged="SelectedIndexChanged" EnableLoadOnDemand="true"

                  AllowCustomText="true" MarkFirstMatch="true">

                    <Items>

                        <telerik:RadComboBoxItem />

                    </Items>

                 </telerik:RadComboBox>

                

                 <telerik:RadScriptBlock ID="RadScriptsBlock1" runat="server">

                    <script type="text/javascript">

                        function SelectedIndexChanged(sender, args) {

                            var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");

                            tableView.filter("BETRIEBSNR", args.get_item().get_value(), "EqualTo");

                        }

                    </script>

                 </telerik:RadScriptBlock>

            </FilterTemplate>

            <ItemTemplate>

                <%#Eval("BETRIEBSNR")%>

            </ItemTemplate>

        </telerik:GridTemplateColumn> 

 

 

<asp:SqlDataSource ID="SDS_FILTER_BETRIEBSNR" runat="server"

                ConnectionString="<%$ ConnectionStrings:APPDB %>" SelectCommand="SELECT DISTINCT BETRIEBSNR FROM    BETRIEBE"></asp:SqlDataSource>

 

 

If I take an Item i’m getting this message:

 

Sys.WebForms.PageRequestManagerServerErrorException: Selection out of range

Parametername: value

Telerik.Web.UI.WebResource.axd Zeile:6

 

Thank you for your help! 

Pavlina
Telerik team
 answered on 20 Feb 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?