Telerik Forums
UI for ASP.NET AJAX Forum
8 answers
229 views
I understand there is no current support for directly creating a PDF from a PivotGrid.

I am attempting to use a third party pdf generator to produce a pdf. I am attempting to use the PivotGrid's RenderControl method to capture the PivotGrid's HTML and push that HTML to the third party pdf generator.

Here is the code I'm using to attempt to create a PDF from the PivotGrid:

01.Protected Sub exportPDF_OnClick(ByVal sender As Object, ByVal e As EventArgs)
02.    Dim stringBuilder As New System.Text.StringBuilder
03.    Dim stringWriter As New System.IO.StringWriter(stringBuilder)
04.    Dim pivotGridHtml As String
05.    Dim htmlTextWriter As New HtmlTextWriter(stringWriter)
06. 
07.    pivotGrid.RenderControl(htmlTextWriter)
08.    pivotGridHtml = stringBuilder.ToString()
09.    PdfGenerator.GetDefaultPdfGenerator().HTMLToPDF(pivotGridHtml)
10.
11.End Sub


Attempts to create a pdf fail on the call to RenderControl. The expand/collapse buttons are causing me trouble. I'm getting the error below:

Control 'ctl00_FeaturedContent_pivotGrid_ctl04_ctl00_RowExpandCollapseButton_0_0' of type 'Button' must be placed inside a form tag with runat=server.

Is there a different approach I can take? Or can I make the PivotGrid not create the expand/collapse buttons?
Kostadin
Telerik team
 answered on 04 Apr 2014
2 answers
46 views
I have a problem with the RADEditor.

We are using version 2012.607.35 of the Telerik.Web.UI and its seems that the RADSlider in Image Manager is not picking up the strings from RadEditor.Dialogs.resx and the localized counterparts for example RadEditor.Dialogs.de.resx. 

This problems seems to be on your localized demo as well(see screenshot from http://demos.telerik.com/aspnet-ajax/editor/examples/localization/defaultcs.aspx).

No matter what I do the text does not change.

Do you know of a workaround I could use to fix this and get localizes strings for the slider in Image Manager?
Sverrir
Top achievements
Rank 1
 answered on 04 Apr 2014
7 answers
93 views
I noticed in the demos and in my project that if the image is very large the LightBox window will go over page so that the whole image is not visible.

Is there a setting to put a max height and max width of the LightBox window to prevent this from happening?
Kostadin
Telerik team
 answered on 04 Apr 2014
1 answer
74 views
Hi All,

I'm new to Rad controls and want to integrate Rad Scheduler and I want to use it in a ASP.Net MVC application. Since Rad Scheduler support ASPX view engine, I have configured to work in ASPX view engine.
 My issue is I'm getting following error "DataKeyField, DataSubjectField, DataStartField and DataEndField are required for databinding". I know that I have to give those data but I didn't find any reference on how to provide them in a ASP.Net MVC project. I have refereed "RadScheduler in MVC sample project" in "http://www.telerik.com/support/kb/aspnet-ajax/scheduler/details/radscheduler-in-mvc-sample-project".

  Would be grateful if you can guide me on how to bind scheduler to a database and do the CRUD operations. 

and also I've seen in Telerik documentation the I can use web API. Is that means that I can directly call my controller from the view without going through a web service? Would be grateful if you can guide me on this as well.

Following is my code.

.ASPX

<div style="width: 80%; float: right;">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
   </asp:ScriptManager>
                        <telerik:RadScheduler ID="RadScheduler1" runat="server" ShowHeader="false" TimelineView-SlotDuration="1" EnableDatePicker="true" OverflowBehavior="Expand"
                            SelectedView="TimelineView" AppointmentStyleMode="Default" AllowInsert="true" AllowEdit="true"  ColumnWidth="75px" RowHeight="50px" >
                             <WebServiceSettings Path="" ResourcePopulationMode="ServerSide" UseHttpGet="true" />
                            <AdvancedForm EnableResourceEditing="False" Enabled="false"  />
                            <TimelineView ShowDateHeaders="true" ShowResourceHeaders="false"  ShowInsertArea="false"  />
                            <AppointmentTemplate  >
                                
                                <div>
                                    <%#Eval("Subject") %>
                                </div>
                                <hr />
                                <div>
                                    Assigned to: <strong>
                                        <asp:Label ID="UserLabel" runat="server" Text='<%# Container.Appointment.Resources.GetResourceByType("EmployeeInfo") == null ? "None" : Container.Appointment.Resources.GetResourceByType("EmployeeInfo").Text %>'></asp:Label>
                                    </strong>
                                    
                                </div>
                            </AppointmentTemplate>
                            
                        </telerik:RadScheduler>
                    </div>

 
Controller : ( I have used the Controller in Web API binding (http://www.telerik.com/help/aspnet-ajax/scheduler-web-api-binding.html))

public partial class ResourcePlannerController : Controller
    {
        private JavaScriptSerializer _serializer;
        private JavaScriptSerializer JavaScriptSerializer
        {
            get
            {
                if (_serializer == null)
                {
                    _serializer = new JavaScriptSerializer();
                }

                return _serializer;
            }
        }

        private XmlSchedulerProvider _provider;
        private XmlSchedulerProvider Provider
        {
            get
            {
                if (_provider == null)
                {
                    //_provider = new CustomXmlSchedulerProvider(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Appointments_Outlook.xml"), true);
                }

                return _provider;
            }
        }

        private WebServiceAppointmentController _controller;
        private WebServiceAppointmentController Controller
        {
            get
            {
                if (_controller == null)
                {
                    _controller = new WebServiceAppointmentController(Provider);
                }

                return _controller;
            }
        }

        [HttpGet]
        public IEnumerable<AppointmentData> GetAppointments(string schedulerInfo)
        {
            return null;// return Controller.GetAppointments(JavaScriptSerializer.Deserialize<MySchedulerInfo>(schedulerInfo));
        }

        [HttpPost]
        public IEnumerable<AppointmentData> InsertAppointment(WebApiData data)
        {
            return Controller.InsertAppointment(data.SchedulerInfo, data.AppointmentData);
        }

        [HttpPut]
        public IEnumerable<AppointmentData> UpdateAppointment(WebApiData data)
        {

            return Controller.UpdateAppointment(data.SchedulerInfo, data.AppointmentData);
        }

        [HttpPost]
        public IEnumerable<AppointmentData> CreateRecurrenceException(WebApiData data)
        {
            return Controller.CreateRecurrenceException(data.SchedulerInfo, data.RecurrenceExceptionData);
        }

        [HttpDelete]
        public IEnumerable<AppointmentData> RemoveRecurrenceExceptions(WebApiData data)
        {
            return Controller.RemoveRecurrenceExceptions(data.SchedulerInfo, data.MasterAppointmentData);
        }

        [HttpDelete]
        public IEnumerable<AppointmentData> DeleteAppointment(WebApiData data)
        {
            return Controller.DeleteAppointment(data.SchedulerInfo, data.AppointmentData, data.DeleteSeries);
        }

        [HttpGet]
        public IEnumerable<ResourceData> GetResources(string schedulerInfo)
        {
            var o = new JavaScriptSerializer().Deserialize<MySchedulerInfo>(schedulerInfo);
            return Controller.GetResources(null);
        }

    }

    public class MySchedulerInfo { };




 




Boyan Dimitrov
Telerik team
 answered on 04 Apr 2014
2 answers
82 views
I am using Telerik grid with edit form template. When ItemDataBound event fires for this gird i have written various logic which must be satisfied/set for this event. So is there any server side code which can be moved to client side or minimized by using any inbuilt feature provided by teelrik?
Mainly i am calling four methods inside this even which descriptions are:
1>SetTpcHeaderCheckBoxValues- This methos is used to set the attributes of a checkbox on grids header coloumn.
2>SetTpcControlsDefaultValueInReadMode: this method is used to set the controls in readonly mode.
3>SetTpcToolTipAndWrapping: used to set the wrap and tool tip properties.
4>SetTpcControlsDefaultValueInEditMode: used to set the controls for the grid column which is in edit mode.

I have written all details regarding to this methodas below:

Protected Sub RgThridPartyCommissionsItemDataBound(sender As Object, _
                                                        e As GridItemEventArgs)

        SetTpcHeaderCheckBoxValues(e)

        Dim item As GridDataItem = TryCast(e.Item, GridDataItem)
        If (item IsNot Nothing) Then
            SetTpcControlsDefaultValueInReadMode(item)
            SetTpcToolTipAndWrapping(e, item)

        End If

        If e.Item.IsInEditMode Then
            SetTpcControlsDefaultValueInEditMode(e)
        End If

    End Sub

Private Sub SetTpcHeaderCheckBoxValues(ByVal e As GridItemEventArgs)

        Dim headerItem As GridHeaderItem = TryCast(e.Item, GridHeaderItem)
        If headerItem IsNot Nothing Then
            Dim headerCheckBox As CheckBox = DirectCast(headerItem("ClientSelectColumn").Controls(0), CheckBox)

            headerCheckBox.Attributes.Add("onclick", String.Format _
                              ("headerChecked(this,'{0}','{1}','{2}','lnkRemoveAllTpc','hdnTPCRowCount','hdnTPCRowChecked')", _
                               CacheDataSet.ThirdPartyCommissions, _
                              Master.InvoiceID.ToString(), _
                              rgThirdPartyCommissions.ClientID))

            If (Not CanDeleteRetailAgentCommissions) Then
                headerCheckBox.Enabled = False
            ElseIf hdnIsHeaderChecked.Value.Equals("false") Then
                hdnHeaderChbxId.Value = headerCheckBox.ClientID
            End If
        End If
    End Sub

Private Sub SetTpcControlsDefaultValueInReadMode(ByVal item As GridDataItem)

        Dim rowID = DirectCast(item.FindControl("lblRowID"), Label).Text
        Dim tpcRow = (From tpc In ThirdPartyCommissionRows
                Where (tpc.RowID = rowID AndAlso tpc.IsSelected = "True")
                Select tpc).FirstOrDefault()
        'Edit template Start
        Dim checkBox As CheckBox = DirectCast(item("ClientSelectColumn").Controls(0), CheckBox)
        checkBox.Enabled = CanDeleteRetailAgentCommissions
        checkBox.Attributes.Add("onclick", "chkClick(this,'lnkRemoveAllTpc','hdnTPCRowCount','hdnTPCRowChecked')")


        'used to maintain the state of the checkbox.
        If tpcRow IsNot Nothing Then
            item.Selected = tpcRow.IsSelected
        End If

        Dim imgBtnEdit As ImageButton = DirectCast(item.FindControl("imgbtnTpcEdit"), ImageButton)
        Dim imgBtnCopy As ImageButton = DirectCast(item.FindControl("imgbtnTpcCopy"), ImageButton)
        Dim imgBtnDelete As ImageButton = DirectCast(item.FindControl("imgbtnTpcDelete"), ImageButton)

        imgBtnEdit.OnClientClick = _
            String.Format("return onThirdPartyCommissionEditClick({0})", item.ItemIndex)
        imgBtnCopy.OnClientClick = _
            String.Format("return CanEditGrid('{0}','TPC','')", item.ItemIndex)
        imgBtnDelete.OnClientClick = _
            String.Format("return CanEditGrid('{0}','TPC','Remove')", item.ItemIndex)

        Dim lbTypeTpc As Label
        lbTypeTpc = DirectCast(item.FindControl("lbType"), Label)
        Dim lbFeeCode As Label = DirectCast(item.FindControl("lbFeeCode"), Label)

        'Fix start for defect 7877
        Dim fee As String
        If lbFeeCode IsNot Nothing Then
            fee = lbFeeCode.Text
            If (fee.Contains("Default1")) Then
                lbFeeCode.Text = fee
            End If

            If (fee.Contains("Default")) Then
                fee = fee.Replace("Default", "")
                lbFeeCode.Text = fee
            End If

            If (fee = "1") Then
                fee = fee.Replace("1", "")
                lbFeeCode.Text = fee
            End If
        End If
        'Fix end for defect 7877

        Dim radToolTipTpcDescription As RadToolTip = _
                DirectCast(item.FindControl("radToolTipTPCDescription"), RadToolTip)
        Dim radToolTipTpcCommissionOnType As RadToolTip = _
                DirectCast(item.FindControl("radToolTipTPCCommissionOnType"), RadToolTip)
        Dim type As String
        If lbTypeTpc IsNot Nothing Then
            type = lbTypeTpc.Text
            If type.Contains("/") Then
                lbTypeTpc.Text = type.Split("/")(0)
                lbFeeCode.Text = type.Split("/")(1)
                radToolTipTpcDescription.Text = type.Split("/")(1)
                radToolTipTpcCommissionOnType.Text = type.Split("/")(0)
            End If
        End If

        CheckRightsForGridControl _
            (CanAddRetailAgentCommission, CanEditRetailAgentCommission, _
             CanViewRetailAgentCommissions, CanDeleteRetailAgentCommissions, _
             imgBtnEdit, imgBtnCopy, imgBtnDelete)

        DisableLinksForHistory(imgBtnEdit, imgBtnCopy, imgBtnDelete)
    End Sub

Private Sub SetTpcToolTipAndWrapping(ByVal e As GridItemEventArgs, ByVal item As GridDataItem)

        '0th index column is hide so this attributes not required
        'Tpc grid columns count to apply wrap unwrap - 7
        For col As Integer = 1 To 7
            item(rgThirdPartyCommissions.Columns(col).UniqueName).Wrap = checkWrapPremium.Checked
        Next

        If (checkWrapPremium.Checked AndAlso e.Item.IsInEditMode = False) Then
            Dim radToolTip As RadToolTip

            radToolTip = DirectCast(item.FindControl("radToolTipTPCDescription"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCLOB"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCName"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCGroupType"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCBilling"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCCommissionOnType"), RadToolTip)
            radToolTip.Visible = False

            radToolTip = DirectCast(item.FindControl("radToolTipTPCRateType"), RadToolTip)
            radToolTip.Visible = False
        End If
    End Sub

Private Sub SetTpcControlsDefaultValueInEditMode(ByVal e As GridItemEventArgs)

        Dim itemEditForm As GridEditFormItem = DirectCast(e.Item, GridEditFormItem)
        Dim ddlTpcFeeCode As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCFeeCode"), RadComboBox)
        Dim ddlTpcInvoiceItemLevel As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCInvoiceItemLevel"), RadComboBox)
        Dim ddlTpcName As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCName"), RadComboBox)
        Dim ddlTpcRole As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCRole"), RadComboBox)
        Dim ddlTpcType As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCType"), RadComboBox)
        Dim ddlTpcRateType As RadComboBox = _
                DirectCast(itemEditForm.FindControl("rdcmbTPCRateType"), RadComboBox)
        Dim tbTpcRate As RadNumericTextBox = _
                DirectCast(itemEditForm.FindControl("rdtbTPCRate"), RadNumericTextBox)
        Dim tbTpcCommissionAmtCal As RadNumericTextBox = _
                DirectCast(itemEditForm.FindControl("rdtbTPCCommissionAmount"), RadNumericTextBox)
        Dim tbTpcBilling As RadTextBox = _
                DirectCast(itemEditForm.FindControl("rtbTCPBilling"), RadTextBox)

        Dim itemEdit As GridEditableItem = DirectCast(e.Item, GridEditableItem)
        Dim btnCancelOrDelete As Button = DirectCast(itemEdit.FindControl("btnCancel"), Button)

        If ViewState("IsNewRowAdded") = True Then
            btnCancelOrDelete.CommandName = "Delete"
            btnCancelOrDelete.Attributes.Add("OnClick", "DeleteRecord('TPC');")
        Else
            btnCancelOrDelete.CommandName = "Cancel"
            btnCancelOrDelete.Attributes.Add("OnClick", "resetEditIndex('TPC');")
        End If

        Dim tpcEditRowFilter = ThirdPartyCommissionRows.ElementAt(itemEditForm.DataSetIndex)

        EnableDisablePaging("TPCClassToHidePageSelector", "TPCClassToHidePageResizer", "true")

        'Assign the default values to the respective controls
        If Not (TypeOf e.Item Is IGridInsertItem) Then

            If TypeOf e.Item Is GridEditFormItem Then

                BindTpcNameCombo(ddlTpcName)

                ddlTpcName.SelectedValue = tpcEditRowFilter.MemberID

                BindTpcRoleCombo(ddlTpcRole)
                SetTpcRoleComboAsPerPartyType(ddlTpcName, ddlTpcRole)

                SetTpcBilling(tbTpcBilling, ddlTpcName)

                BindTpcTypeCombo(ddlTpcType)
                ddlTpcType.SelectedValue = tpcEditRowFilter.CommissionOnTypeID

                BindTpcInvoiceItemLevel(ddlTpcInvoiceItemLevel, _
                                        tpcEditRowFilter.CommissionOnTypeID)
                ddlTpcInvoiceItemLevel.SelectedValue = tpcEditRowFilter.InvoiceItemID

                BindTpcFeeCode(itemEditForm)

                If (Not tpcEditRowFilter.IsInvoiceItemNonPremiumFeeIDNull()) Then
                    ddlTpcFeeCode.SelectedValue = tpcEditRowFilter.InvoiceItemNonPremiumFeeID
                Else
                    ddlTpcFeeCode.SelectedValue = 0
                End If

                If (ddlTpcFeeCode.SelectedValue <> 0) Then
                    ddlTpcFeeCode.Enabled = True
                Else
                    ddlTpcFeeCode.Enabled = False
                End If

                tbTpcBilling.Text = tpcEditRowFilter.glAgencyBillRetAgentReceivableMethodText

                BindTpcRateType(ddlTpcType, ddlTpcInvoiceItemLevel, _
                                ddlTpcFeeCode, ddlTpcRateType)
                ddlTpcRateType.SelectedValue = tpcEditRowFilter.RateTypeID
                ddlTpcRateType.Focus()

                tbTpcRate.Text = PolicyInfoCommon.FormatRate(tpcEditRowFilter.Rate, _
                                                             tpcEditRowFilter.RateTypeID)

                'Set value for hdnPremiumFeeAmtForTpc
                ddlTpcRateType.Text = ddlTpcRateType.SelectedItem.Text
                CalculateTpcCommissionAmount(ddlTpcRateType)

                tbTpcCommissionAmtCal.Text = tpcEditRowFilter.AmountDueUI

                tbTpcRate.Attributes.Add _
                    ("onBlur", "return validateThirdPartyRate('" + tbTpcRate.ClientID + "','" _
                               + tbTpcCommissionAmtCal.ClientID + "' ,'" + ddlTpcRateType.ClientID + "')")

                'If record is new then enabled required dropdowns
                If (IsNewTpcRecord = True) Then
                    ddlTpcName.Focus()

                    ddlTpcType.Enabled = True
                    ddlTpcName.Enabled = True
                    ddlTpcInvoiceItemLevel.Enabled = True

                    ddlTpcInvoiceItemLevel.Items.Clear()
                    ddlTpcInvoiceItemLevel.Items.Insert _
                        (0, New RadComboBoxItem(PolicyInfoConstants.pleaseSelect, _
                                                ColumnnIndexes.Zero))
                    ddlTpcInvoiceItemLevel.SelectedValue = 0

                    ddlTpcRateType.Items.Clear()
                    ddlTpcRateType.Items.Insert(0, New RadComboBoxItem _
                                                   (PolicyInfoConstants.pleaseSelect, _
                                                    ColumnnIndexes.Zero))
                    ddlTpcRateType.SelectedValue = 0

                    ddlTpcFeeCode.Items.Insert(0, New RadComboBoxItem _
                                                  (PolicyInfoConstants.pleaseSelect, _
                                                   ColumnnIndexes.Zero))
                    ddlTpcFeeCode.SelectedValue = 0

                    ddlTpcType.SelectedValue = 0
                    ddlTpcRole.SelectedValue = 0
                    tbTpcBilling.Text = String.Empty

                    IsNewTpcRecord = False
                End If

                If (tbTpcCommissionAmtCal.Text.Equals("")) Then
                    tbTpcCommissionAmtCal.Text = 0
                End If

                If (IsClickOnCopy) Then
                    ddlTpcInvoiceItemLevel.Enabled = True
                    ddlTpcName.Enabled = True
                    ddlTpcType.Enabled = True
                    IsClickOnCopy = False
                End If

                If ddlTpcRateType.Text = PolicyInfoConstants.flat Then
                    tbTpcRate.NumberFormat.DecimalDigits = 2
                    tbTpcCommissionAmtCal.Text = FormatNumber _
                        (tbTpcCommissionAmtCal.Text, 2)
                Else
                    tbTpcRate.NumberFormat.DecimalDigits = 4
                End If

            End If

        End If

        'Fix start for defect 8512
        Dim controlClientId As String = Nothing

        'If new record then set focus on 'Name'
        If (ddlTpcName.Enabled) Then '
            controlClientId = ddlTpcName.ClientID + "_Input"
        ElseIf (ddlTpcRateType.Enabled) Then
            'If in Edit mode then set focus on 'Rate Type'
            controlClientId = ddlTpcRateType.ClientID + "_Input"
        End If

        hdnRemoveTabValue.Value = controlClientId

        ScriptManager.RegisterClientScriptBlock _
            (Me, GetType(Page), "ToggleScript", "SetFocusAfterPostBack('" & controlClientId & "');", True)
    End Sub
Himanshu
Top achievements
Rank 1
 answered on 04 Apr 2014
2 answers
151 views
Scenario:I have a RadCombobox and I have attached functions to most of the events. One event of the combobox is OnClientBlur and I am using this to check whether value in Combo is "Unassigned" or not. If it is "Unassigned" I need to cancel the onblur event and keep the focus on to the same combo.
Please refer screen shot 1.

This is the javascript which I has been used to cancel the event.
if (sender.get_text() === "Unassigned") {
eventArgs.get_domEvent().preventDefault();
return false;
}


Problem:When the user tabs out first time of the ComboBox the event gets cancelled and the focus stays on the same combo box (in this case it is the 3rd Combo).But when the user hits the tab button again the focus moves to the next control.When I debugged the code I found that when the user first hits the tab button, following line works
eventArgs.get_domEvent().preventDefault();

I can see the preventDefault function, see following snapshot. 
Please refer screen shot 2.

but when the user hits the tab button again I get an error and cannot see preventDefault function, see following snapshot
Please refer screen shot 3.

I am not able to understand what is going wrong here. Anyhelp would be appreciated.






Himanshu
Top achievements
Rank 1
 answered on 04 Apr 2014
2 answers
142 views

Hi everyone

Im trying to load data in RadGrid, everything is right except no paging, 

I click on page number to change the page but no paging occurs or no data is rendered

I use GetDataAndCount event to load the data, the output type of the method is ResultData (this class contains a generic list and counter) 

I think Im missing something, can you help me.

I provide some code:


<telerik:RadGrid ID="GvProfiles" runat="server" AllowPaging="true" AllowCustomPaging="false"
                AllowSorting="true" AllowFilteringByColumn="true" FilterType="CheckList" ShowFooter="true">
                <MasterTableView AutoGenerateColumns="false" DataKeyNames="ProfileID" ClientDataKeyNames="ProfileID" CheckListWebServicePath="ProfilesService.svc">
                    <PagerStyle Mode="NumericPages"></PagerStyle>
                    <Columns>
                        <telerik:GridBoundColumn FilterDelay="200" FilterCheckListWebServiceMethod="GetProfileNames"
                            DataField="ProfileName" HeaderText="Profile Name" UniqueName="ProfileID" DataType="System.String">
                        </telerik:GridBoundColumn>
                    </Columns>
                    <PagerStyle AlwaysVisible="true"></PagerStyle>
                </MasterTableView>
                <ClientSettings>
                    <ClientEvents OnDataBound="OnDataBound" OnGridCreated="OnGridCreated" />
                    <DataBinding SelectMethod="GetDataAndCount"     Location="ProfilesService.svc"
                    SortParameterType="String" FilterParameterType="String">
                    </DataBinding>
                </ClientSettings>
                <FilterMenu CssClass="RadFilterMenu_CheckList">
                </FilterMenu>
            </telerik:RadGrid>




[DataContract]
public class Profiles
{
    [DataMember]
    public Int64 ProfileID { get; set; }

    [DataMember]
    public String ProfileName { get; set; }
}

public class ResultData
{
    public int Count { get; set; }
    public List<Profiles> Data { get; set; }
}

[ServiceKnownType(typeof(Profiles))]
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ProfilesService
{
    [OperationContract]
    public RadListBoxItemData[] GetProfileNames(Dictionary<string, object> context)
    {
        BusinessLayer.ProfilesBL objProfilesBL = new BusinessLayer.ProfilesBL();
        List<DataLayer.Profiles> listProfiles = new List<DataLayer.Profiles>();
        List<Profiles> listWcfProfiles = new List<Profiles>();

        try
        {
            listProfiles = objProfilesBL.Select(new DataLayer.Profiles());

            listProfiles.ForEach(delegate(DataLayer.Profiles item)
            {
                listWcfProfiles.Add(new Profiles { ProfileID = item.ProfileID, ProfileName = item.ProfileName });
            });

            return listWcfProfiles.Select(o => new RadListBoxItemData { Text = o.ProfileName, Value = o.ProfileID.ToString() }).ToArray<RadListBoxItemData>();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            objProfilesBL = null;
            listProfiles = null;
            listWcfProfiles = null;
        }
    }

    [OperationContract]
    public ResultData GetDataAndCount(int startRowIndex, int maximumRows, string sortExpression, string filterExpression)
    {
        BusinessLayer.ProfilesBL objProfilesBL = new BusinessLayer.ProfilesBL();
        List<DataLayer.Profiles> listProfiles = new List<DataLayer.Profiles>();

        IQueryable iQueryable;
        GridLinqBindingData gridLinqBindingData;
        ResultData resultData = new ResultData();
        List<Profiles> listProfilesService = new List<Profiles>();

        try
        {
            listProfiles = objProfilesBL.Select(new DataLayer.Profiles());

            iQueryable = listProfiles.AsQueryable();

            gridLinqBindingData = RadGrid.GetBindingData(iQueryable, startRowIndex, maximumRows, string.Empty, string.Empty);

            if (string.IsNullOrEmpty(sortExpression))
                sortExpression = "ProfileName ASC";

            if (!string.IsNullOrEmpty(filterExpression))
            {
                filterExpression = filterExpression.Replace("[", string.Empty);
                filterExpression = filterExpression.Replace("]", string.Empty);
                filterExpression = filterExpression.Replace("'", "\"");
            }
            else
                filterExpression = "ProfileID > 0";

            resultData.Data = gridLinqBindingData.Data.OfType<DataLayer.Profiles>().Select(o => new Profiles()
            {
                ProfileID = o.ProfileID,
                ProfileName = o.ProfileName
            }).Where(filterExpression).OrderBy(sortExpression).ToList();

            resultData.Count = listProfiles.Count;

            return resultData;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            objProfilesBL = null;
            listProfiles = null;
            iQueryable = null;
            gridLinqBindingData = null;
            resultData = null;
        }
    }

Antonio Stoilkov
Telerik team
 answered on 04 Apr 2014
1 answer
96 views
In BasePage class I overrided OnPreRender method:
    public class BaseMainPage : BaseDataPage
    {
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (!string.IsNullOrWhiteSpace(ExceptionHelper.MessageUI)) 
            {
                string script2run = @" $(window).load(function () { alert('" + ExceptionHelper.MessageUI + "'); }); ";

                // handle exception
                ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), script2run, true);

                // reset the message
                ExceptionHelper.MessageUI = null;
            }
        }
    }

This code displays alert message to user. The problem is when I have more than one partial postbacks the code doesn't work because once the method run then ExceptionHelper.MessageUI is null.

How can I solve the problem?


Eyup
Telerik team
 answered on 04 Apr 2014
3 answers
267 views
I have a grid and within your GridTemplateColumn have a RadNumericTextBox that can be edited. The problem that when I edit a field and press TAB (to go below the line), the value was 1459,14 145914,00 is if I go back into the field above to change the value of the first line, the second line changes again and is 14591400,00 . 
I have attached an example with fictitious data in a list.

Put the DLLs in the file in the bin folder, I removed because the file was too large, making it impossible to upload.

Version: UI for ASP.NET AJAX Q3 2013

* Change the extension from. Jpg to. Rar
Kostadin
Telerik team
 answered on 04 Apr 2014
5 answers
1.6K+ views
How to disable days in RadDatePicker?
If I google to find, everyone is referring to article which doesn't work in vs2013.
http://www.telerik.com/support/code-library/disabling-calendar-days

I also tried to do with following functions but it only disables like 10 total weekends.  It doesn't disable any previous months weekends. Any suggestions!
    Protected Sub Calendar_OnDayRender(ByVal sender As Object, ByVal e As Telerik.Web.UI.Calendar.DayRenderEventArgs)
        If (e.Day.Date.DayOfWeek = DayOfWeek.Saturday Or e.Day.Date.DayOfWeek = DayOfWeek.Sunday) Then     
            ' disable the selection for the specific day
            Dim calendarDay As RadCalendarDay = New RadCalendarDay
            calendarDay.Date = e.Day.Date
            calendarDay.IsSelectable = False
            calendarDay.IsDisabled = True
            'calendarDay.ItemStyle.CssClass = otherMonthCssClass
            calendarDay.ItemStyle.BackColor = Color.CadetBlue
            RadDatePicker1.Calendar.SpecialDays.Add(calendarDay)
        End If    End Sub
Viktor Tachev
Telerik team
 answered on 04 Apr 2014
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?