
Hi,
I have a webservice bound scheduler and Controller.GetAppointments drops some of the appointments even though sql query as seen in first list returns correct number of appointments.
Controller.GetAppointments takes these 45 appointments and returns 99 appointments( as seen in second list) as parent child appointments and drop some of the original appointments (42627, 41592 )in its internal processing, can anyone tell me how to fix this issue?
Actual appointments returned(count=45) , more than half of these appointments are recurring appointments
List: 29648: 29649: 29650: 32983: 40689: 40690: 301: 29908: 29909: 29910: 40229: 40230: 40231: 30428: 30429: 30430: 40456: 40457: 40458: 42418: 42665: 42666: 30688: 30689: 30690: 40913: 40914: 42586: 42589: 42595: 42602: 42623: 42635: 42639: 42653: 42660: 42663: 42664: 39550: 39551: 39552: 41590: 41591: 41592: 42627
Appointments Returned by Controller (count = 99 ), this shows parent and child appointments
List: --->, 40690_0, 40689_0, 40913_0, 40914_0, 40231_0, 40230_0, 40229_0, 40457_0, 40458_0, 40456_0, 29909_0, 29908_0, 39551_0, 39550_0, 40689_1, 40690_1, 40914_1, 40913_1, 40230_1, 40229_1, 40231_1, 40456_1, 40457_1, 40458_1, 39551_1, 30428_1, 29648_1, 30430_1, 40690_2, 40689_2, 40913_2, 40914_2, 40229, 40231_2, 40230_2, 42586, 42589, 40457_2, 40456, 40458_2, 42664, 42663, 29648, 30690_2, 30689_2, 39552_2, 39550, 39551_2, 30688, 29908, 30428, 41590, 40689, 40690_3, 42602, 42623, 32983, 40913, 40914_3, 42653, 42639, 40230, 40229_2, 40231_3, 42660, 40458_3, 40456_2, 40457, 29909, 29648_2, 39551, 39550_2, 39552_3, 29650_3, 29649, 30689, 30429, 41591, 42418, 40690, 40689_3, 40914, 40913_3, 40231, 40230_3, 40229_3, 40458, 40456_3, 40457_3, 29648_3, 30429_3, 29650, 30430, 29649_3, 39550_3, 30690, 39552, 29910, 41592
Controller.GetAppointments<AppointmentData>(schedulerInfo) truncates some of the appointments in Month View.
IEnumerable<AppointmentData> apts = Controller.GetAppointments<AppointmentData>(schedulerInfo);
Thanks,
Prava
I have a RadGrid inside a UserControl where I change the BackColor of each GridDataItem (aka row) based on a value in a cell so the users know the urgency of the rows data. If it is outside the bounds we don't change anything.
However when a row wraps around due to a cell with more text than width on the cells that I changed the background color of based on a cell value when you hover the mouse over the row it only highlights the first line of text in the row with the highlight hover color. Then on the rows we didn't change the background color of when you mouse over the row highlights correctly the full height of the row not just the first line of text.
I am following recommend way of changing the BackColor of a GridDataItem from a Telerik response to another thread in this forum. Basically in the OnItemDataBound event I do the following:
if (goal <= 0.0) dataItem.BackColor = Color.FromName("#ffb2ae"); // Pastel Redelse if (goal > 0.0 && goal < 3.0) dataItem.BackColor = Color.FromName("#ffd394"); // Pastel Orangeelse if (goal >= 3.0 && goal < 7) dataItem.BackColor = Color.FromName("#fdfd96"); // Pastel Yellowelse if (goal >= 7.0 && goal < 10) dataItem.BackColor = Color.FromName("a0e7a0"); // Pastel Green
See attached images for examples of output results.
Any help to make the default hover color fill the full height of the cell when the BackColor is changed for a GridDataItem is greatly appreciated.

I have a radlistview item. On clicking of radlistview item i am generating dynamic controls as show in the code. Since dynamically generate controls not retain across post back so recreating every time. Controls are working fine but not generating in a proper order. All controls should generate one by one on clicking of list view but those are messing around, please some one suggest me how can i resolve this?
Thanks.
MARK UP:
<div id="divListView" style="overflow: auto; width: 100%;" class="sortable"> <telerik:RadListView ID="RadListView1" runat="server" RenderMode="Lightweight" DataKeyNames="Label" ClientDataKeyNames="Label" ItemPlaceholderID="ListViewPlaceHolder1"> <LayoutTemplate> <div class="RadListView RadListView_Silk"> <table id="orgcharttable" class="layoutTable" width="100%"> <tr> <td colspan="3" class="nopadding"> <asp:PlaceHolder ID="ListViewPlaceHolder1" runat="server"></asp:PlaceHolder> </td> </tr> </table> </div> </LayoutTemplate> <ItemTemplate> <div id="divHighlight" class="ListViewStyle" onclick="SelectControl(this,event);"> <div style="vertical-align: top; width: 100%"> <table> <tr id="tr1"> <td colspan="2" class="tdnormal"> <telerik:RadLabel ID="lbl1" runat="server" Text='<%# Bind("Label")%>' Font-Bold="true" CssClass="ItemHeaderStyle"></telerik:RadLabel> </td> </tr> <tr id="tr2"> <td rowspan="2" colspan="1" style="width: 5%"> </td> </tr> </table> </div> </div> </ItemTemplate> </telerik:RadListView> <asp:Table ID="Table1" runat="server" EnableViewState="false"></asp:Table>Code Behind:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { RadListView1.DataSource = GetDatatable(); RadListView1.DataBind(); } else { RecreateControls("rtb", "RadTextBox"); RecreateControls("rcb", "RadComboBox"); } } public DataTable GetDatatable() { DataTable dt = new DataTable(); dt.Columns.Add("Label"); dt.Rows.Add("RadTextBox"); dt.Rows.Add("RadComboBox"); return dt; }protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e) { string commandText = e.Argument.ToString().Trim(); string[] splitdata = commandText.Split('&'); commandText = splitdata[0]; string controlName = splitdata[1]; switch (controlName) { case "RadTextBox": int cnt1 = FindOccurence("rtb") + 1; DynamicControls dcTextBox = new DynamicControls(); TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", cnt1, cnt1, "Text Box:", "", 0); TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", cnt1, cnt1, "", "", 0); TableRow txtRow = new TableRow(); txtRow.Cells.Add(txtlblRad); txtRow.Cells.Add(txtRad); Table1.Rows.Add(txtRow); break; case "RadComboBox": int cnt2 = FindOccurence("rcb") + 1; DynamicControls dcComboBox = new DynamicControls(); TableCell combolblRad = dcComboBox.Controlscreation("RadLabel", "", cnt2, cnt2, "Combo box:", "", 0); TableCell comboRad = dcComboBox.Controlscreation("RadComboBox", "", cnt2, cnt2, "", "", 0); TableRow comboRow = new TableRow(); comboRow.Cells.Add(combolblRad); comboRow.Cells.Add(comboRad); Table1.Rows.Add(comboRow); break; }}private void RecreateControls(string ctrlPrefix, string ctrlType) { string[] ctrls = Request.Form.ToString().Split('&'); int cnt = FindOccurence(ctrlPrefix); if (cnt > 0) { for (int k = 1; k <= cnt; k++) { for (int i = 0; i < ctrls.Length; i++) { if (ctrls[i].Contains(ctrlPrefix + "_" + k.ToString())) { if (ctrlType == "RadTextBox") { DynamicControls dcTextBox = new DynamicControls(); TableCell txtlblRad = dcTextBox.Controlscreation("RadLabel", "", k, k, "TextBox:", "", 0); TableCell txtRad = dcTextBox.Controlscreation("RadTextBox", "", k, k, "", "", 0); TableRow txtRow = new TableRow(); txtRow.Cells.Add(txtlblRad); txtRow.Cells.Add(txtRad); Table1.Rows.Add(txtRow); } if (ctrlType == "RadComboBox") { DynamicControls dcComboBox = new DynamicControls(); TableCell combolblRad = dcComboBox.Controlscreation("RadLabel", "", k, k, "Combo box:", "", 0); TableCell comboRad = dcComboBox.Controlscreation("RadComboBox", "", k, k, "", "", 0); TableRow comboRow = new TableRow(); comboRow.Cells.Add(combolblRad); comboRow.Cells.Add(comboRad); Table1.Rows.Add(comboRow); } } } } } }private int FindOccurence(string substr) { string reqstr = Request.Form.ToString(); return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length); }}}Expected Result: The Controls should generate one by one in order on click of listview, but generating in a group. Textboxes are generating as one group and dropdowns are generating as one group.
I have the following tag which includes a handler for onfocusout. The handler is executed when the user clicks away from the control when the down arrow button or the text area has focus but doesn't execute when the user has selected an item (or item check box) in the item list and then navigates away from the RadComboBox control. How is it possible to have checkNeedToSaveOpportunity(event) executed if the user focuses on a list item and then navigates to some other part of the page?
<telerik:RadComboBox RenderMode="Lightweight" ID="cmbReportTool" filter="Contains" runat="server"
EmptyMessage="Select" oWrap="false"
onfocusout="checkNeedToSaveOpportunity(event)"
OnClientItemChecking="OnCMBClientItemChecking"
class="cmb-report-tool"
CheckBoxes="true"
width="100%">
</telerik:RadComboBox>
Hi guys,
No idea what's happening here. Been trying to fix for a week.
It was working great last week but now when a new task is clicked, the ajax loading image just keeps spinning. While it's spinning, if I refresh the page straight away, I can see that the record has gone into the database and it shows up in the chart.
I read on a couple of other posts about this scenario, but could not find a fix.
Cheers,
Jon

Currently while exporting report to PDF, only current page number is displayed at the bottom of each pages. Instead of this, we would like to show page number in 'n' of Total number of pages' format.
Any suggestion for this?
Thanks.

<telerik:RadGrid ID="RadGrid1" AllowSorting="false" AutoGenerateColumns="false" AlternatingItemStyle-HorizontalAlign="center" AlternatingItemStyle-BackColor="#ffffff" GroupingEnabled="true" OnExcelExportCellFormatting="RadGrid1_ExcelExportCellFormatting" OnGridExporting="RadGrid1_GridExporting" OnPdfExporting="RadGrid1_PdfExporting" ExportSettings-Excel-Format="Html" ExportSettings-ExportOnlyData="true" Width="100%" runat="server"> <MasterTableView Width="99%"> <Columns> ...using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.IO;using System.Net;using System.Net.Mail;using System.Text;using System.Web.UI;using System.Web.UI.WebControls;using Mec.CommonLibrary.Cryptography;using MEC.EMA.BLL;using Microsoft.Security.Application;using Telerik.Web.UI;public class EmailRadGridAttachment{ List<Person> _userList = new List<Person>(); UserBLL _userBLL = new UserBLL(); protected void Page_Load(object sender, EventArgs e) { BindGrid(); } protected void BindGrid() { _userList = _userListBLL.GetUserById(_userId); RadGrid1.DataSource = _userList; } // aspx page with a button that fires this event for Excel protected void ButtonExcel_Click(object sender, EventArgs e) { ConfigureExport(); RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); Grid1.MasterTableView.ExportToExcel(); } // aspx page with a button that fires this even for PDF protected void ButtonPdf_Click(object sender, System.EventArgs e) { ConfigureExport(); RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); Grid1.ExportSettings.Pdf.AllowPrinting = true; Grid1.ExportSettings.Pdf.AllowModify = true; Grid1.ExportSettings.Pdf.AllowCopy = true; Grid1.ExportSettings.Pdf.AllowAdd = true; // I found that if I don't use postscript fonts the data does not make it to the attachment Grid1.ExportSettings.Pdf.DefaultFontFamily = "Helvetica"; Grid1.ExportSettings.Pdf.PageLeftMargin = new Unit(2, UnitType.Mm); Grid1.ExportSettings.Pdf.PageRightMargin = new Unit(2, UnitType.Mm); Grid1.ExportSettings.Pdf.PageHeaderMargin = new Unit(0, UnitType.Mm); Grid1.ExportSettings.Pdf.PaperSize = GridPaperSize.Legal; // to get lanscape orientation Grid1.ExportSettings.Pdf.PageHeight = Unit.Parse("210mm"); // Width based on TOU and NON-TOU Columns and the smaller parse the more room for data Grid1.ExportSettings.Pdf.PageWidth = Unit.Parse("420mm"); foreach (GridColumn col in RadGrid1.MasterTableView.RenderColumns) { // We have the ability to control the width of columns in the export here if (col.UniqueName != "MiddleInitial") { col.HeaderStyle.Width = Unit.Pixel(50); } } Grid1.MasterTableView.ExportToPdf(); } protected void RadGrid1_PdfExporting(object sender, GridPdfExportingArgs e) { // I have added some more information that will be included in the PDF above the RadGrid here StringBuilder customHTML = new StringBuilder(); customHTML.Append("<p style='color: red; font-weight: bold; font-size: 10pt;'>Title Page</p>"); customHTML.Append("<table style='font-family:Helvetica;font-size:9pt;width:500px;'>"); // Very Important to make sure you have a colgroup and the same number of "<col>" as "<td>" customHTML.Append("<colgroup><col style='width: 200px; white-space:nowrap;' /><col style='text-align:left;' /></colgroup>"); // ColGroup = Number of <td> in a row is needed for Telerik export to PDF customHTML.Append("<tr><td>Customer: " + CustomerName.Text + "</td><td>Date: " + LabelDate.Text + " </td></tr>"); customHTML.Append("<tr><td>Address: " + LabelAddress.Text + "</td><td>Email: " + LabelEmail.Text + " </td></tr>"); customHTML.Append("<tr><td>City: " + LabelCity.Text + "</td><td>Phone: " + LabelPhone.Text + " </td></tr>"); customHTML.Append("<tr><td>State: " + LabelState.Text + "</td><td>Zip: " + LabelZipCode.Text + " </td></tr>"); customHTML.Append("</table>"); e.RawHTML = customHTML + e.RawHTML; } public void ConfigureExport() { RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); Grid1.ExportSettings.ExportOnlyData = true; Grid1.ExportSettings.IgnorePaging = true; // We don't want the Open, Save or Cancel prompt to open for a new window when calling this page Grid1.ExportSettings.OpenInNewWindow = false; } protected void RadGrid1_GridExporting(object source, GridExportingArgs e) { StringBuilder customHTML = new StringBuilder(); MemoryStream gridMemoryStream = new MemoryStream(new ASCIIEncoding().GetBytes(e.ExportOutput)); if (e.ExportType == ExportType.Excel) { SendEMailWithAttachment(gridMemoryStream, "attachment.xls"); } // Stuff the Grid in a memory stream and pass it to the email method if (e.ExportType == ExportType.Pdf) { SendEMailWithAttachment(gridMemoryStream, "attachment.pdf"); } gridMemoryStream.Close(); // Redirect to the same page so the alert does not pop-up Response.Redirect(Request.Url.AbsoluteUri); } public void SendEMailWithAttachment(Stream attachmentStream, string fileName) { //settings from the web.config SmtpClient smtpClient = new SmtpClient(Convert.ToString(ConfigurationManager.AppSettings["SERVER_EMAIL"])); string authType = "Basic"; MailMessage email = new MailMessage(); StringBuilder body = new StringBuilder(); string emaURL = Convert.ToString(ConfigurationManager.AppSettings["BASE_URL"]); email.From = new MailAddress("From@gmail.com"); email.To.Add("To@gmail.com"); email.Subject = "This is the subject"; body.Append("<table style='font-family:Helvetica;font-size:9pt;width:600px;'>"); body.Append("<tr><td>You can put in whatever you want here</td></tr>"); body.Append("</table>"); // Attachment goes here email.Attachments.Add(new Attachment(attachmentStream, fileName)); email.Body = body.ToString(); email.IsBodyHtml = true; NetworkCredential nc = new NetworkCredential(Convert.ToString(ConfigurationManager.AppSettings["CredentialU"]), Convert.ToString(ConfigurationManager.AppSettings["CredentialP"])); smtpClient.Credentials = nc.GetCredential(Convert.ToString(smtpClient), 25, authType); smtpClient.Send(email); }}I was trying to create a User Control for standardizing the Grid Control across all the forms. Surely all the forms will have different columns but the layout is the same across except for few properties here and there. How do I expose the Column Collection?
My Code would be:
<telerik:RadGrid ID="grid" runat="server" AllowCustomPaging="false" AllowPaging="False" AllowSorting="False" AutoGenerateColumns="False" CellPadding="0" CellSpacing="0" CssClass="gridCandidate" Height="100%" Width="100%">
<ClientSettings EnableAlternatingItems="false" EnableRowHoverStyle="true"> <Scrolling AllowScroll="true" UseStaticHeaders="true" /> <Selecting AllowRowSelect="True" /> <ClientEvents OnRowDataBound="function() {}" OnCommand="function(){}" /> </ClientSettings> <MasterTableView AllowFilteringByColumn="False" AllowNaturalSort="false" ClientDataKeyNames="ID" DataKeyNames="ID" EnableColumnsViewState="False" EnableViewState="False" HierarchyLoadMode="Client" NoMasterRecordsText="<div class='noRec'>No records to display.</div>" TableLayout="Auto"> <Columns></Columns><HeaderStyle Height="0px" /> <PagerStyle Visible="False" /> </MasterTableView> </telerik:RadGrid>
[MergableProperty(false), DefaultValue((string)null),
PersistenceMode(PersistenceMode.InnerProperty)]
public GridColumnCollection Columns{ get { return grid.Columns; } set { foreach (GridColumn column in value) { grid.MasterTableView.Columns.Add(column); } //grid.MasterTableView.Columns.Add() }}
Any idea how to expose the Columns property?