Hi,
I was trying hard to use Gantt with Oracle Database over the Oracle Managed Connection, with Visual Studio 2013/ASP.NET 4.5. Well I had a few problems.
Then I returned to the blackboard and Worked on your Example. Then I hit an end.
So when you want resource assignments to be made, You cant. The events do not trigger. Am I missing something?
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Temp_GanttBinding_List.aspx.cs" Inherits="GanttDBConnection.Temp_GanttBinding_List" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI.Gantt" tagprefix="cc1" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
></
telerik:RadScriptManager
>
<
div
>
<
telerik:RadGantt
runat
=
"server"
ID
=
"RadGantt1"
Culture
=
"tr-TR"
LocalizationPath
=
"LocalResources"
SnapToGrid
=
"false"
AutoGenerateColumns
=
"false"
SelectedView
=
"MonthView"
EnableResources
=
"true"
OnDependencyInsert
=
"RadGantt1_DependencyInsert"
OnDependencyDelete
=
"RadGantt1_DependencyDelete"
OnTaskDelete
=
"RadGantt1_TaskDelete"
OnTaskUpdate
=
"RadGantt1_TaskUpdate"
OnTaskInsert
=
"RadGantt1_TaskInsert"
OnAssignmentDelete
=
"RadGantt1_AssignmentDelete"
OnAssignmentInsert
=
"RadGantt1_AssignmentInsert"
OnAssignmentUpdate
=
"RadGantt1_AssignmentUpdate"
>
<
Columns
>
<
telerik:GanttBoundColumn
DataField
=
"ID"
HeaderText
=
"#"
Width
=
"40px"
></
telerik:GanttBoundColumn
>
<
telerik:GanttBoundColumn
DataField
=
"Title"
HeaderText
=
"Başlık"
DataType
=
"String"
></
telerik:GanttBoundColumn
>
<
telerik:GanttResourceColumn
HeaderText
=
"Atanmış Kaynak"
></
telerik:GanttResourceColumn
>
</
Columns
>
<
DataBindings
>
<
TasksDataBindings
IdField
=
"ID"
TitleField
=
"Title"
StartField
=
"Start"
EndField
=
"End"
PercentCompleteField
=
"PercentComplete"
OrderIdField
=
"OrderID"
SummaryField
=
"Summary"
ParentIdField
=
"ParentID"
/>
<
DependenciesDataBindings
IdField
=
"ID"
PredecessorIdField
=
"PredecessorID"
SuccessorIdField
=
"SuccessorID"
TypeField
=
"Type"
/>
<
ResourcesDataBindings
IdField
=
"ID"
TextField
=
"Name"
ColorField
=
"Color"
/>
<
AssignmentsDataBindings
IdField
=
"ID"
TaskIdField
=
"TaskID"
ResourceIdField
=
"ResourceID"
UnitsField
=
"Units"
/>
</
DataBindings
>
</
telerik:RadGantt
>
</
div
>
</
form
>
</
body
>
</
html
>
Then I kind of added some to simulate my own project.
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 Telerik.Web.UI.Gantt;
using System.Data;
namespace GanttDBConnection
{
public partial class Temp_GanttBinding_List : System.Web.UI.Page
{
private const string TasksKey = "Telerik.GanttSample.Tasks";
private const string DependenciesKey = "Telerik.GanttSample.Dependencies";
private const string AssignmentsKey = "Telerik.GanttSample.Assignments";
private const string ResourcesKey = "Telerik.GanttSample.Resources";
private List<
Task
> Tasks
{
get
{
List<
Task
> sessionTasks = Session[TasksKey] as List<
Task
>;
if (sessionTasks == null)
{
sessionTasks = new List<
Task
>();
sessionTasks.Add(new Task
{
ID = 1,
Title = "Yeni Görev",
Start = new DateTime(2015, 8, 5, 12, 40, 0),
End = new DateTime(2015, 8, 5, 12, 40, 0),
OrderID = 0
});
Session[TasksKey] = sessionTasks;
}
return sessionTasks;
}
}
public List<
Dependency
> Dependencies
{
get
{
List<
Dependency
> sessionDependencies = Session[DependenciesKey] as List<
Dependency
>;
if (sessionDependencies == null)
{
sessionDependencies = new List<
Dependency
>();
Session[DependenciesKey] = sessionDependencies;
}
return sessionDependencies;
}
}
public List<
CustomGanttResource
> CustomGanttResources
{
get
{
List<
CustomGanttResource
> sessionResources = Session[ResourcesKey] as List<
CustomGanttResource
>;
if (sessionResources == null)
{
sessionResources = new List<
CustomGanttResource
>();
sessionResources.Add(new CustomGanttResource
{
ID = 1,
Name = "Mutlu",
Color = "#ff0000"
});
Session[ResourcesKey] = sessionResources;
}
return sessionResources;
}
}
public List<
Assignment
> Assignments
{
get
{
List<
Assignment
> sessionAssignments = Session[AssignmentsKey] as List<
Assignment
>;
if (sessionAssignments == null)
{
sessionAssignments = new List<
Assignment
>();
Session[DependenciesKey] = sessionAssignments;
}
return sessionAssignments;
}
}
protected void Page_Load(object sender, EventArgs e)
{
RadGantt1.DataSource = Tasks;
RadGantt1.DependenciesDataSource = Dependencies;
RadGantt1.ResourcesDataSource = CustomGanttResources;
RadGantt1.AssignmentsDataSource = Assignments;
}
protected void RadGantt1_TaskDelete(object sender, TaskEventArgs e)
{
foreach (Task task in e.Tasks)
{
var original = GetByID((int)task.ID);
Tasks.Remove(original);
}
}
protected void RadGantt1_TaskUpdate(object sender, TaskEventArgs e)
{
foreach (Task task in e.Tasks)
{
var original = GetByID((int)task.ID);
original.Start = task.Start;
original.End = task.End;
original.Title = task.Title;
original.PercentComplete = task.PercentComplete;
original.OrderID = task.OrderID;
original.Summary = task.Summary;
original.ParentID = task.ParentID;
}
}
protected void RadGantt1_TaskInsert(object sender, TaskEventArgs e)
{
foreach (Task task in e.Tasks)
{
task.ID = NextID();
Tasks.Add(task);
}
}
private Task GetByID(int id)
{
return Tasks.Find((task) => (int)task.ID == id);
}
private int NextID()
{
var nextID = 0;
foreach (ITask task in Tasks)
{
if ((int)task.ID > 0)
{
nextID = (int)task.ID;
}
}
return ++nextID;
}
protected void RadGantt1_DependencyInsert(object sender, DependencyEventArgs e)
{
foreach (Dependency dependency in e.Dependencies)
{
dependency.ID = NextDependencyID();
Dependencies.Add(dependency);
}
}
protected void RadGantt1_DependencyDelete(object sender, DependencyEventArgs e)
{
foreach (Dependency dependency in e.Dependencies)
{
var original = GetDependencyByID((int)dependency.ID);
Dependencies.Remove(original);
}
}
private Dependency GetDependencyByID(int id)
{
return Dependencies.Find((dependency) => (int)dependency.ID == id);
}
private int NextDependencyID()
{
var nextID = 0;
foreach (IDependency dependency in Dependencies)
{
if ((int)dependency.ID > 0)
{
nextID = (int)dependency.ID;
}
}
return ++nextID;
}
protected void RadGantt1_AssignmentDelete(object sender, AssignmentEventArgs e)
{
//Just to see if this event triggers.
int a = 5;
}
protected void RadGantt1_AssignmentInsert(object sender, AssignmentEventArgs e)
{
//Just to see if this event triggers.
int a = 5;
}
protected void RadGantt1_AssignmentUpdate(object sender, AssignmentEventArgs e)
{
//Just to see if this event triggers.
int a = 5;
}
public class CustomGanttResource
{
public void CustomGanttResources(int ID, string Name, string Color)
{
_ID = ID;
_Name = Name;
_Color = Color;
}
private int _ID;
public int ID
{
get { return _ID; }
set { _ID = value; }
}
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
private string _Color;
public string Color
{
get { return _Color; }
set { _Color = value; }
}
}
}
}
Thanks in Advance.
Mutlu
Hi Guys
I have been retired from commercial website design for a few years now but I am still doing stuff for various charities and church organisations, so I would like to be as current as possible without spending their money unnecessarily. I am on the Q3 2013 version 2013.3.1114.40 (i.e. SP1) and would like to get as current as possible. Can I get access to SP2 without renewing my licence?
Thanks
Clive
Hi,
In the latest 2016.1.225 release, we have problem moving windows when using Lightweight, Restriction Zone and a parent with overflow none!
This worked in the previous version...
Sample:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="window.aspx.vb" Inherits="TestaTredjepartWeb.window" %>
<!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"
style
=
"overflow: hidden"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
ID
=
"s"
runat
=
"server"
>
</
asp:ScriptManager
>
<
div
>
<
asp:Panel
ID
=
"pnlRestrictionZone"
runat
=
"server"
Style
=
"width: 700px; background-color: blue; height: 500px"
>
<
telerik:RadWindowManager
ID
=
"RadWindowManager1"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"RadWindow1"
runat
=
"server"
VisibleOnPageLoad
=
"true"
AutoSize
=
"true"
RenderMode
=
"Lightweight"
Title
=
"Hello"
NavigateUrl
=
"windowcontent.aspx"
VisibleStatusbar
=
"false"
RestrictionZoneID
=
"pnlRestrictionZone"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
</
asp:Panel
>
</
div
>
</
form
>
</
body
>
</
html
>
When trying to move the window in the sample above using Firefox, it will always jump to the top left corner for start!
Regards
Andreas
Hello,
We are experienced an issue with radGrid on iPad/iPhone/iPod. On any postback (trying to retrieve a record, ordering by clicking the column header, changing the page size) the entire browser is blocked. The only way to go back is to force closing the browser and reopen it.
Mention : The Android devices are working good, also the all browsers on desktop using Windows.
Mention : The radGrid is placed in a radWindow.
Trying to isolate the problem found that this is happening even on a simple radGrid in a dummy window. Is there something we are missing? Are we wrong with something else? Can you reproduce the problem?
Telerik version : 2016.1.113.40
This is the source code we are using in order to reproduce the problem .
Thank you!
ASPX :
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DummyLookupContent.ascx.cs" Inherits="wMobilePC.Web.UI.Contents.DummyLookupContent" ClassName="wMobilePC.Web.UI.Contents.DummyLookup" %><
br
><
telerik:RadCodeBlock
ID
=
"rcbMain"
runat
=
"server"
><
br
> <
script
type
=
"text/javascript"
><
br
> var oWnd = RadWindow_GetRadWindow();<
br
> oWnd.set_visibleStatusbar(false);<
br
> oWnd.set_width(700);<
br
> oWnd.set_height(500);<
br
> oWnd.center();<
br
> <
br
><
br
> </
script
><
br
></
telerik:RadCodeBlock
><
br
><
br
><
br
><
telerik:RadGrid
ID
=
"grd"
runat
=
"server"
AutoGenerateColumns
=
"true"
<br> AllowCustomPaging="True" AllowPaging="True" OnNeedDataSource="grd_NeedDataSource"<
br
> PageSize="10" EnableLinqExpressions="false" Height="400px" Width="100%" ><
br
> <
MasterTableView
AllowFilteringByColumn
=
"True"
AllowCustomSorting
=
"True"
AllowSorting
=
"True"
<br> CanRetrieveAllData="False" EnableColumnsViewState="True" EnableViewState="True"<
br
> TableLayout="Fixed"><
br
> <
PagerStyle
AlwaysVisible
=
"true"
/><
br
> </
MasterTableView
><
br
> <
ClientSettings
AllowKeyboardNavigation
=
"true"
><
br
> <
Selecting
AllowRowSelect
=
"True"
/><
br
> <
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
/><
br
> <
KeyboardNavigationSettings
AllowActiveRowCycle
=
"true"
EnableKeyboardShortcuts
=
"false"
/><
br
> </
ClientSettings
><
br
> </
telerik:RadGrid
>
Code behind :
namespace
wMobilePC.Web.UI.Contents<br>{<br>
public
partial
class
DummyLookupContent : UserControl, IWebContent<br> {<br>
public
string
Name<br> {<br>
get
;
set
;<br> }<br><br>
public
bool
IsReadOnly<br> {<br>
get
;
set
;<br> }<br><br>
public
string
Id<br> {<br>
get
;
set
;<br> }<br><br>
public
string
Title<br> {<br>
get
;
set
;<br> }<br><br>
public
Control Control<br> {<br>
get
{
return
this
; }<br> }<br><br>
public
bool
IsDirty<br> {<br>
get
;
set
;<br> }<br><br>
public
IDataContext DataContext<br> {<br>
get
;
set
;<br> }<br><br>
public
IWebWorkspace Workspace<br> {<br>
get
;
set
;<br> }<br><br>
protected
void
Page_Load(
object
sender, EventArgs e)<br> {<br> LoadAjaxSettings();<br> }<br><br>
protected
void
grd_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)<br> {<br> DataSet ds = ContactService.GetAllContacts(SecurityContext.LoggedInUser, GMContactType.Primary,
"Company LIKE '%c%'"
,
string
.Empty, 0, 100);<br><br> grd.DataSource = ds.Tables[0];<br> }<br><br>
public
Control GetView(
string
name)<br> {<br>
return
null
;<br> }<br><br>
public
void
SaveContent(
object
info)<br> {<br> <br> }<br><br>
public
void
Initialize(
object
info)<br> {<br> <br> }<br><br>
public
void
LoadContent(
object
info)<br> {<br> <br> }<br><br>
public
void
RefreshContent(
object
info)<br> {<br> <br> }<br><br>
public
bool
IsRefreshRequired(
object
info)<br> {<br>
return
false
;<br> }<br><br>
private
void
LoadAjaxSettings()<br> {<br> RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(grd, grd);<br> }<br> }<br>}
Hello
I am using AsyncUpload to upload photos and store them in a folder that exists inside my project
<asp:Label ID="PhotoLabel" runat="server" Text="Upload a photo"></asp:Label>
<telerik:RadAsyncUpload RenderMode="Lightweight" runat="server" ManualUpload="false" ID="AsyncUpload1" MultipleFileSelection="Disabled" OnFileUploaded="AsyncUpload1_FileUploaded"></telerik:RadAsyncUpload>
<telerik:RadButton runat="server" Text="Sibmit new photos" OnClick="UploadFiles_Click"></telerik:RadButton>
<asp:Label ID="error" runat="server" Text="" Visible="false"></asp:Label>
protected void UploadFiles_Click(object sender, EventArgs e)
{
try
{
if(AsyncUpload1.UploadedFiles.Count > 0)
{
foreach (UploadedFile file in AsyncUpload1.UploadedFiles)
{
string targetFolder = HttpContext.Current.Server.MapPath("~/images");
string targetPath = Path.Combine(targetFolder, file.ToString());
file.SaveAs(targetPath);
}
error.Text = "File Uploaded";
error.Visible = true;
}
else
{
error.Text = "no files to upload";
error.Visible = true;
return;
}
}
catch(Exception ex)
{
error.Text = ex.ToString();
error.Visible = true;
}
}
This code works. And stores a file on the correct folder. The problem is that instead of it being a png like I uploaded its a 'Telerik.Web.UI.AsyncUploadedFile'