<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
Sites
>
<
Site
Name
=
"Name"
URL
=
"www.google.com"
>
<
KPIData
StartDate
=
"2012-04-01"
></
KPIData
>
</
Site
>
</
Sites
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"Name"
FilterControlAltText
=
"Filter Name column"
HeaderText
=
"Site Name"
SortExpression
=
"Name"
UniqueName
=
"Name"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"URL"
FilterControlAltText
=
"Filter URL column"
HeaderText
=
"URL"
SortExpression
=
"URL"
UniqueName
=
"URL"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"GATableID"
FilterControlAltText
=
"Filter GATableID column"
HeaderText
=
"GA Profile Id"
SortExpression
=
"GATableID"
UniqueName
=
"GATableID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"/KPIData[@StartDate]"
FilterControlAltText
=
"Filter StartDate column"
HeaderText
=
"StartDate"
SortExpression
=
"StartDate"
UniqueName
=
"StartDate"
>
</
telerik:GridBoundColumn
>
</
Columns
>
CustomFileSystemProvider myProvider = (CustomFileSystemProvider)Session[
"myCustomFileSystemProvider"
];
myProvider.DeleteDirectory(RadFileExplorer1.TreeView.SelectedValue);
Added the RadChart to a webpart and deployed to Sharepoint Foundation. It was working but all of a sudden i am getting this error.
Failed to render "Wiki Content" column because of an error in the "Multiple lines of text" field type control. See details in log. Exception message: A generic error occurred in GDI+. Check the folder specified in the TempImagesFolder property of the control. Current value is "Chart". The folder should exist and must have been granted write permissions for the ASPNET user
I have confirmed that there is a directory at C:\inetpub\wwwroot\wss\VirtualDirectories\80\Chart
I also manually set the permissions so that "Everyone" has Full Control on the directory. It is still giving me problems. Can someone step me through what i need to do/doing wrong....using Sharepoint Foundation running on my Win7 development system..
Many thanks
UPDATE: figured it out. was missing ~/ in front of the Temp. :)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
>RadGrid Client Side Binding Test</
title
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
function pageLoad() {
var data = [{ "ID": 1, "Text": "Text1" }, { "ID": 2, "Text": "Text2"}];
var mtv = $find("RadGrid1").get_masterTableView(); mtv.set_dataSource(data); mtv.dataBind();
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"RadGrid1"
AutoGenerateColumns
=
"false"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
HeaderText
=
"ID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Text"
HeaderText
=
"Text"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
form
>
</
body
>
</
html
>
<telerik:RadGrid ID="rgPhysicalAccessReviewList" runat="server" ShowStatusBar="true" Visible="false" OnInit="rgPhysicalAccessReviewList_Init"
AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False" AllowMultiRowEdit="true" AllowFilteringByColumn="true"
OnItemCommand="rgPhysicalAccessReviewList_ItemCommand" OnItemDataBound="rgPhysicalAccessReviewList_ItemDataBound" EnableViewState="true"
AllowPaging="true" PageSize="150" OnNeedDataSource="rgPhysicalAccessReviewList_NeedDataSource">
<PagerStyle Mode="NumericPages"></PagerStyle>
<MasterTableView Width="100%" DataKeyNames="EmployeeID, AccessReviewID" EnableColumnsViewState="true" AllowMultiColumnSorting="True" HeaderStyle-Font-Bold="true" EditMode="EditForms">
<NoRecordsTemplate>
<div>No records to display</div>
</NoRecordsTemplate>
<Columns>
<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-HorizontalAlign="Left" HeaderText="Business Manager Comments" HeaderStyle-Width ="300px" HeaderButtonType="TextButton" UniqueName="CommentsBox">
<ItemTemplate>
<asp:TextBox ID="txtBxComments" OnTextChanged="txtBxComments_OnTextChanged" Text='<%# Eval("ManagerComments") %>' AutoPostBack="true" runat="server" TextMode="MultiLine" Wrap="True" MaxLength="500" Height="50px" Width="300px"></asp:TextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-HorizontalAlign="Left" HeaderText="Previous Quarter Comments" HeaderStyle-Width ="300px" HeaderButtonType="TextButton" UniqueName="PQCommentsBox">
<ItemTemplate>
<asp:Label ID="lblComments" runat="server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<NestedViewTemplate>
<telerik:RadGrid ID="rgEmployeeDetails" AutoGenerateColumns="False" runat="server" AllowPaging="True" BorderWidth="0px" OnNeedDataSource="rgEmployeeDetails_NeedDataSource">
<MasterTableView Width="75%" DataKeyNames="EmployeeID" ShowHeader="false" AllowMultiColumnSorting="True" >
<Columns>
<telerik:GridTemplateColumn HeaderStyle-BorderWidth="0px">
<ItemTemplate>
<asp:Panel ID="NestedViewPanel" runat="server" CssClass="viewWrap">
<div class="contactWrap">
<fieldset style="padding: 10px;">
<legend style="padding: 5px;"><b>Details of Employee: <%#Eval("LastName")%>, <%#Eval("FirstName")%></b>
</legend>
<table>
<tbody>
<tr>
<td>
<table class="fontDetails">
<tbody>
<tr>
<td style="font-weight: bold;">
Access Coordinator:
</td>
<td>
<asp:Label ID="Label2" Text='<%#Bind("AccessCoordinator") %>' runat="server"></asp:Label>
</td>
<td style="font-weight: bold;">
AC Phone:
</td>
<td>
<asp:Label ID="Label4" Text='<%#Bind("ACPhone") %>' runat="server"></asp:Label>
</td>
</tr>
<%-- <tr>
<td style="font-weight: bold;">
Previous Quarter Comments:
</td>
<td colspan="3">
<asp:Label ID="lblPQComments" Text='<%#Bind("PQComments") %>' runat="server" ></asp:Label>
</td>
</tr>--%>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</fieldset>
</div>
</asp:Panel>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
</NestedViewTemplate>
</MasterTableView>
<ClientSettings>
<Scrolling AllowScroll="true" SaveScrollPosition="true" UseStaticHeaders = "true" />
</ClientSettings>
<GroupingSettings CaseSensitive="false" />
</telerik:RadGrid>
--------------------------------------------------- code behind ---------------------------------------------------
public void txtBxComments_OnTextChanged(object sender, EventArgs e)
{
TextBox txtComments = (TextBox)sender;
GridDataItem item = (GridDataItem)txtComments.NamingContainer;
//Remove existing key-value pair if reediting the controls
if (reviewListChanges.Count > 0)
{
foreach (KeyValuePair<string, string> pair in reviewListChanges)
{
string[] keyValue = pair.Value.Split('|');
if (pair.Key.Equals(item["AccessReviewID"].Text) && keyValue[0].Equals("TextBox"))
{
reviewListChanges.Remove(pair);
break;
}
}
}
reviewListChanges.Add(new KeyValuePair<string, string>(item["AccessReviewID"].Text, "TextBox" + "|" + txtComments.Text));
}
protected void rgPhysicalAccessReviewList_ItemDataBound(object sender, GridItemEventArgs e)
{
try
{
if ((e.Item is GridDataItem))
{
if (reviewListChanges.Count > 0)
{
foreach (KeyValuePair<string, string> pair in reviewListChanges)
{
string[] keyValue = pair.Value.Split('|');
if (pair.Key.Equals(gridEditFormItem.OwnerTableView.DataKeyValues[gridEditFormItem.ItemIndex]["AccessReviewID"].ToString()))
{
if (keyValue[0] == "TextBox")
{
txtBx.Text = keyValue[1];
}
else
{
ddlList.SelectedValue = keyValue[1];
}
}
}
}
}
}
<
div
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_wrapper"
class
=
"RadPicker RadPicker_Default"
style
=
"display:inline-block;font-family:Arial;font-size:Small;width:70px;"
>
<
input
style
=
"visibility:hidden;display:block;float:right;margin:0 0 -1px -1px;width:1px;height:1px;overflow:hidden;border:0;padding:0;"
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo"
name
=
"ctl00$ContentPlaceHolder1$tpHoraFinDomingo"
type
=
"text"
class
=
"rdfd_"
value
=
""
title
=
""
><
table
cellspacing
=
"0"
class
=
"rcTable rcSingle"
style
=
"width:70px;"
>
<
tbody
><
tr
>
<
td
class
=
"rcInputCell"
style
=
"width:100%;"
><
span
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_dateInput_wrapper"
class
=
"riSingle RadInput RadInput_Default"
style
=
"width: 100%; display: block; "
><
span
class
=
"riDisplay"
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_dateInput_display"
style
=
"color: rgb(0, 0, 0); display: inline; font-family: 'segoe ui', arial, sans-serif; font-size: 12px; line-height: normal; text-align: -webkit-auto; padding-left: 5px; padding-right: 5px; border-left-width: 1px; border-right-width: 3px; "
></
span
><
input
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_dateInput"
name
=
"ctl00$ContentPlaceHolder1$tpHoraFinDomingo$dateInput"
type
=
"text"
class
=
"riTextBox riEnabled"
style
=
"color: transparent; "
><
input
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_dateInput_ClientState"
name
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_dateInput_ClientState"
type
=
"hidden"
autocomplete
=
"off"
></
span
></
td
><
td
><
a
title
=
"Open the time view popup."
href
=
"#"
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timePopupLink"
class
=
"rcTimePopup"
>Open the time view popup.</
a
><
div
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timeView_wrapper"
style
=
"display:none;"
><
div
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timeView"
>
<
table
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timeView_tdl"
class
=
"RadCalendarTimeView RadCalendarTimeView_Default"
cellspacing
=
"0"
border
=
"0"
>
<
tbody
><
tr
>
<
th
colspan
=
"3"
scope
=
"col"
class
=
"rcHeader"
>Time Picker</
th
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>0:00</
a
></
td
><
td
><
a
href
=
"#"
>0:30</
a
></
td
><
td
><
a
href
=
"#"
>1:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>1:30</
a
></
td
><
td
><
a
href
=
"#"
>2:00</
a
></
td
><
td
><
a
href
=
"#"
>2:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>3:00</
a
></
td
><
td
><
a
href
=
"#"
>3:30</
a
></
td
><
td
><
a
href
=
"#"
>4:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>4:30</
a
></
td
><
td
><
a
href
=
"#"
>5:00</
a
></
td
><
td
><
a
href
=
"#"
>5:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>6:00</
a
></
td
><
td
><
a
href
=
"#"
>6:30</
a
></
td
><
td
><
a
href
=
"#"
>7:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>7:30</
a
></
td
><
td
><
a
href
=
"#"
>8:00</
a
></
td
><
td
><
a
href
=
"#"
>8:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>9:00</
a
></
td
><
td
><
a
href
=
"#"
>9:30</
a
></
td
><
td
><
a
href
=
"#"
>10:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>10:30</
a
></
td
><
td
><
a
href
=
"#"
>11:00</
a
></
td
><
td
><
a
href
=
"#"
>11:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>12:00</
a
></
td
><
td
><
a
href
=
"#"
>12:30</
a
></
td
><
td
><
a
href
=
"#"
>13:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>13:30</
a
></
td
><
td
><
a
href
=
"#"
>14:00</
a
></
td
><
td
><
a
href
=
"#"
>14:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>15:00</
a
></
td
><
td
><
a
href
=
"#"
>15:30</
a
></
td
><
td
><
a
href
=
"#"
>16:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>16:30</
a
></
td
><
td
><
a
href
=
"#"
>17:00</
a
></
td
><
td
><
a
href
=
"#"
>17:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>18:00</
a
></
td
><
td
><
a
href
=
"#"
>18:30</
a
></
td
><
td
><
a
href
=
"#"
>19:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>19:30</
a
></
td
><
td
><
a
href
=
"#"
>20:00</
a
></
td
><
td
><
a
href
=
"#"
>20:30</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>21:00</
a
></
td
><
td
><
a
href
=
"#"
>21:30</
a
></
td
><
td
><
a
href
=
"#"
>22:00</
a
></
td
>
</
tr
><
tr
>
<
td
><
a
href
=
"#"
>22:30</
a
></
td
><
td
><
a
href
=
"#"
>23:00</
a
></
td
><
td
><
a
href
=
"#"
>23:30</
a
></
td
>
</
tr
>
</
tbody
></
table
><
input
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timeView_ClientState"
name
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_timeView_ClientState"
type
=
"hidden"
autocomplete
=
"off"
>
</
div
></
div
></
td
>
</
tr
>
</
tbody
></
table
><
input
id
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_ClientState"
name
=
"ctl00_ContentPlaceHolder1_tpHoraFinDomingo_ClientState"
type
=
"hidden"
autocomplete
=
"off"
>
</
div
>