Hello Telerik Team,
I am getting the error."An error has occured while processing textbox:The expression contains undefined
function call FormType()".
I have a report..where in i used a user function called "FormType".
My datasource for teh report is sharepoint list.
I am passing a parameter to the user function in the code.My user functions retrieves three values(one each time based on the conditions)But when i select the user function..in the edit expression dialog box..
i am not writing any parameter inside the user function as i am not sure what to write there.
I have gone through http://www.telerik.com/support/kb/reporting/designing-reports/the-expression-contains-undefined-function-call-myuserfunction-error.aspx
and thought i might fall in 2nd cateogry..but unable to find a solution for that
Please help me.
Here is the code.
InitializeComponent();
string strType;
SPSite oSite = new SPSite("spsiteurl");
SPWeb oWeb = oSite.OpenWeb();
string[] parameters = { "10", "100", "1000" };
Telerik.Reporting.ReportParameter param1 = new Telerik.Reporting.ReportParameter();
param1.Name = "ItemID";
param1.Type = Telerik.Reporting.ReportParameterType.Integer;
param1.AllowBlank = false;
param1.AllowNull = true;
param1.Text = "ItemID";
param1.Visible = true;
this.ReportParameters.Add(param1);
SPQuery qry = new SPQuery();
SPList oList = oWeb.Lists["customlist"];
string camlQuery = CreateCAMLQuery(parameters);
qry.Query = camlQuery;
SPListItemCollection listItemsCollection = oList.GetItems(qry);
StringBuilder sb1 = new StringBuilder();
for (int i = 0; i < parameters.Length; i++)
{
foreach (SPListItem item in listItemsCollection)
{
if (parameters[i] != "")
{
sb1 = new StringBuilder();
if (parameters[i] == item["ItemID"].ToString())
{
sb1.Append(parameters[i].ToString() + "-" + item["FormType"].ToString() + ",");
strType = FormType(sb1.ToString());
break;
}
}
}
}
DataTable listItemsTable = oList.GetItems(qry).GetDataTable();
this.DataSource = listItemsTable;
}
private static string CreateCAMLQuery(string[] parameters)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < parameters.Length; i++)
{
if (i >= 2 && !sb.ToString().EndsWith(@"</Or>"))
{
sb.Insert(0, "<Or>");
sb.Insert(sb.Length, "</Or>");
}
sb.Append("<Eq>");
sb.Append("<FieldRef Name='ItemID'/>");
sb.AppendFormat("<Value Type='Choice'>" + parameters[i] + "</Value>", i);
sb.Append("</Eq>");
if (i >= 2 && !sb.ToString().EndsWith(@"</Or>"))
{
sb.Insert(0, "<Or>");
sb.Insert(sb.Length, "</Or>");
}
}
sb.Insert(0, "<Where>");
sb.Append("</Where>");
return sb.ToString();
}
public static string FormType(string strFormType)
{
string[] FormTypeValues = strFormType.Split(",".ToCharArray());
string[] values = FormTypeValues[0].Split("-".ToCharArray());
string ItemId = values[0];
string formT = values[1];
switch (formT)
{
case "PM":
formT = "Parking";
strFormType = formT;
break;
case "PCO":
formT = "Nonparking";
strFormType = formT;
break;
}
return strFormType;
}
I appreciate your support
Thank you,
Smith
hi..
i've created a crystal report and one crystal report viewer in windows form.
i've two form form1 and form2 in form2 i've kept one button called print.
when i press this button it should print the document into .pdf format.
without using the crystal report viewers print button.
please help me below is my runtime figure.
where form2 consist button1 which is a print button.
when i press i should get the preview of the report in pdf format.
please help me.