or
<%@ Page Language="C#" MasterPageFile="~/Pages/Master/MasterPage.master" AutoEventWireup="true"
CodeFile="Programme.aspx.cs" Inherits="Pages_Projets_Programme" Title="Programme" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"head"
runat
=
"Server"
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"Server"
>
<
telerik:RadAjaxManager
ID
=
"RessourceManager"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RessourceManager"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridProgramme"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGridProgramme"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridProgramme"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGridProjetNested"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridProjetNested"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
fieldset
>
<
telerik:RadGrid
ID
=
"RadGridProgramme"
runat
=
"server"
AutoGenerateColumns
=
"False"
DataSourceID
=
"SqlDataSourceProgramme"
GridLines
=
"None"
ShowFooter
=
"True"
AllowSorting
=
"True"
EnableLinqExpressions
=
"False"
OnItemCreated
=
"RadGridProgramme_ItemCreated"
OnDataBound
=
"RadGridProgramme_DataBound"
OnItemCommand
=
"RadGridProgramme_ItemCommand"
EnableEmbeddedSkins
=
"false"
>
<
MasterTableView
DataKeyNames
=
"IdProgramme"
DataSourceID
=
"SqlDataSourceProgramme"
ShowHeader
=
"true"
AutoGenerateColumns
=
"False"
AllowPaging
=
"true"
HierarchyLoadMode
=
"ServerOnDemand"
CommandItemDisplay
=
"Top"
Name
=
"Master"
>
<
NestedViewTemplate
>
<
asp:Panel
runat
=
"server"
ID
=
"InnerContainer"
Visible
=
"false"
class
=
"PanelTache"
>
<
asp:Label
ID
=
"IdprogProjet"
Font-Bold
=
"true"
Font-Italic
=
"true"
Text='<%# Eval("IdProgramme") %>'
Visible="false" runat="server" />
<
telerik:RadGrid
AllowSorting
=
"False"
DataSourceID
=
"ProjectsDataSource"
AutoGenerateColumns
=
"False"
EnableEmbeddedSkins
=
"false"
EnableLinqExpressions
=
"false"
GridLines
=
"None"
ID
=
"RadGridProjetNested"
OnItemCommand
=
"RadGridProjetNested_ItemCommand"
OnItemCreated
=
"RadGridProjetNested_ItemCreated"
runat
=
"server"
ShowFooter
=
"true"
OnItemDataBound
=
"RadGridProjetNested_ItemDataBound"
>
<
MasterTableView
ShowHeader
=
"true"
AutoGenerateColumns
=
"False"
AllowPaging
=
"false"
HierarchyLoadMode
=
"ServerOnDemand"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"IdProjet"
RetrieveAllDataFields
=
"true"
AdditionalDataFieldNames
=
"IdProgramme"
Name
=
"RadGridProjetNestedMDView"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"IdProjet"
MasterKeyField
=
"IdProgramme"
/>
</
ParentTableRelation
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"Libelle"
DefaultInsertValue
=
""
HeaderText
=
"Libellé"
SortExpression
=
"Libelle"
UniqueName
=
"Libelle"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"ProjectsDataSource"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:CSSA %>"
SelectCommand="LIST_Project" SelectCommandType="StoredProcedure">
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"IdRequester"
SessionField
=
"IdUser"
Type
=
"Int32"
/>
<
asp:ControlParameter
ControlID
=
"IdprogProjet"
PropertyName
=
"Text"
Type
=
"String"
Name
=
"IdProgrammeParent"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
asp:Panel
>
</
NestedViewTemplate
>
<
ExpandCollapseColumn
Visible
=
"True"
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"IdProgramme"
DataType
=
"System.Int32"
DefaultInsertValue
=
""
HeaderText
=
"IdProgramme"
ReadOnly
=
"True"
SortExpression
=
"IdProgramme"
UniqueName
=
"IdProgramme"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Libelle"
DefaultInsertValue
=
""
HeaderText
=
"Libellé"
SortExpression
=
"Libelle"
UniqueName
=
"Libelle"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
fieldset
>
<
asp:SqlDataSource
ID
=
"SqlDataSourceProgramme"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:CSSA %>"
SelectCommand="LIST_Programme" SelectCommandType="StoredProcedure">
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"idRequester"
SessionField
=
"IdUser"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
</
asp:Content
>
using
System;
using
System.Collections.Generic;
using
System.Configuration;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
public
partial
class
Pages_Projets_Programme : Page
{
/// <summary>
/// Handles the Load event of the Page control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
/// <summary>
/// Handles the DataBound event of the RadGridProgramme control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
protected
void
RadGridProgramme_DataBound(
object
sender, EventArgs e)
{
if
(!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
{
foreach
(String strIndex
in
SessionObject.IndexItemExpanded.Split(
'-'
))
{
if
(!String.IsNullOrEmpty(strIndex))
{
Int32 Index = Convert.ToInt32(strIndex);
RadGridProgramme.Items[Index].Expanded =
true
;
RadGridProgramme.Items[Index].ChildItem.FindControl(
"InnerContainer"
).Visible =
true
;
}
}
}
}
/// <summary>
/// Display the list of associated projects
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
protected
void
RadGridProgramme_ItemCommand(
object
source, GridCommandEventArgs e)
{
// Multi-Items stays expanded after Rebind()
if
(e.CommandName == RadGrid.ExpandCollapseCommandName)
{
if
(!e.Item.Expanded)
{
SessionObject.IndexItemExpanded +=
"-"
+ e.Item.ItemIndexHierarchical;
}
else
{
if
(!String.IsNullOrEmpty(SessionObject.IndexItemExpanded))
{
SessionObject.IndexItemExpanded = SessionObject.IndexItemExpanded.Replace(
"-"
+ e.Item.ItemIndexHierarchical,
""
);
}
}
e.Item.Selected = !e.Item.Selected;
((GridDataItem)e.Item).ChildItem.FindControl(
"InnerContainer"
).Visible =
!((GridDataItem)e.Item).ChildItem.FindControl(
"InnerContainer"
).Visible;
}
if
(e.CommandName == RadGrid.PageCommandName)
{
SessionObject.IndexItemExpanded =
null
;
}
}
/// <summary>
///
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
protected
void
RadGridProgramme_ItemCreated(
object
sender, GridItemEventArgs e)
{
}
/// <summary>
///
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
protected
void
RadGridProjetNested_ItemCommand(
object
sender, GridCommandEventArgs e)
{
}
/// <summary>
/// Handles the ItemCreated event of the RadGridProjetNested control.
/// ItemCreated is fired before the item is data-bound. Thus no data is still in the cells' text or input controls.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
protected
void
RadGridProjetNested_ItemCreated(
object
sender, GridItemEventArgs e)
{
}
/// <summary>
/// Handles the ItemDataBound event of the RadGridProjetNested control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param>
protected
void
RadGridProjetNested_ItemDataBound(
object
sender, GridItemEventArgs e)
{
}
}
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function FocusMenu(menu, eventArgs)
{
menu.get_items().getItem(0).get_linkElement().focus();
}
</
script
>
</
telerik:RadCodeBlock
>
<
telerik:RadGrid
ID
=
"RadGridAxOrder"
runat
=
"server"
DataSourceID
=
"sdsAxOrderView"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowFilteringByColumn
=
"True"
GridLines
=
"None"
AutoGenerateColumns
=
"False"
onitemcommand
=
"RadGridAxOrder_ItemCommand"
onprerender
=
"RadGridAxOrder_PreRender"
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
>
<
KeyboardNavigationSettings
FocusKey
=
"G"
/>
</
ClientSettings
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataSourceID
=
"sdsAxOrderView"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ordreNr"
FilterControlAltText
=
"Filter ordreNr column"
HeaderText
=
"Ordrenr."
ReadOnly
=
"True"
SortExpression
=
"ordreNr"
UniqueName
=
"ordreNr"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ordreNavn"
FilterControlAltText
=
"Filter ordreNavn column"
HeaderText
=
"Ordrenavn"
SortExpression
=
"ordreNavn"
UniqueName
=
"ordreNavn"
>
</
telerik:GridBoundColumn
>
And so on
protected void RadGridAxOrder_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
e.Canceled = true;
}
}
protected void RadGridAxOrder_PreRender(object sender, EventArgs e)
{
RadGridAxOrder.FilterMenu.OnClientShown = "FocusMenu";
}
}
<
telerik:RadChart
ID
=
"RadChart1"
runat
=
"server"
ChartImageFormat
=
"Jpeg"
ChartTitle-Visible
=
"True"
>
<
Appearance
BarWidthPercent
=
"60"
></
Appearance
>
<
Legend
Appearance-Position-AlignedPosition
=
"BottomLeft"
Appearance-Location
=
"OutsidePlotArea"
>
<
TextBlock
Appearance-Position-AlignedPosition
=
"BottomLeft"
></
TextBlock
>
</
Legend
>
<
ChartTitle
TextBlock-Text
=
"Forecast Vs Plan"
> </
ChartTitle
>
<
Series
>
<
telerik:ChartSeries
DataYColumn
=
"Base"
Name
=
"Base"
>
<
Appearance
FillStyle-MainColor
=
"#ffff66"
FillStyle-SecondColor
=
"#ffff66"
Border-Color
=
"#000000"
Border-PenStyle
=
"Solid"
>
</
Appearance
>
</
telerik:ChartSeries
>
<
telerik:ChartSeries
DataYColumn
=
"Plan"
Name
=
"Plan"
>
<
Appearance
FillStyle-MainColor
=
"#ff0033"
FillStyle-SecondColor
=
"#ff0033"
Border-Color
=
"#000000"
Border-PenStyle
=
"Solid"
>
</
Appearance
>
</
telerik:ChartSeries
>
<
telerik:ChartSeries
DataYColumn
=
"ForeCast"
Name
=
"ForeCast"
>
<
Appearance
FillStyle-MainColor
=
"#6600cc"
FillStyle-SecondColor
=
"#6600cc"
Border-Color
=
"#000000"
Border-PenStyle
=
"Solid"
>
</
Appearance
>
</
telerik:ChartSeries
>
</
Series
>
<
PlotArea
Appearance-Position-Y
=
"100"
>
<
XAxis
VisibleValues
=
"Positive"
>
<
Appearance
MajorGridLines-PenStyle
=
"Solid"
MajorGridLines-Color
=
"#000000"
>
<
TextAppearance
AutoTextWrap
=
"True"
></
TextAppearance
>
</
Appearance
>
</
XAxis
>
<
YAxis
VisibleValues
=
"Positive"
>
<
Appearance
MajorGridLines-PenStyle
=
"Solid"
MajorGridLines-Color
=
"#000000"
></
Appearance
>
</
YAxis
>
</
PlotArea
>
</
telerik:RadChart
>
protected
void
Graph_Load()
{
decimal
Plan, Base, Fore, max = 0;
DataSet dsResults =
new
DataSet();
dsResults = ForeCastBO.loadForeCast(Setinputvalues());
DataTable dt_Graph =
new
DataTable();
dt_Graph.Columns.Add(
"Division"
,
typeof
(String));
dt_Graph.Columns.Add(
"Plan"
,
typeof
(String));
dt_Graph.Columns.Add(
"Base"
,
typeof
(String));
dt_Graph.Columns.Add(
"ForeCast"
,
typeof
(String));
if
(dsResults.Tables[0].Rows.Count > 0)
{
for
(
int
i = 0; i < dsResults.Tables[0].Rows.Count; i++)
{
dt_Graph.Rows.Add(dsResults.Tables[0].Rows[i][3].ToString(), Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][2].ToString())),
Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][4].ToString())), Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][5].ToString())));
Plan = Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][2].ToString()));
Base = Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][4].ToString()));
Fore = Decimal.Round(Convert.ToDecimal(dsResults.Tables[0].Rows[i][5].ToString()));
if
(Plan > Base)
max = Plan;
else
max = Base;
if
(Fore > max)
max = Fore;
}
RadChart1.DataSource = dt_Graph;
RadChart1.PlotArea.XAxis.DataLabelsColumn = dt_Graph.Rows[0].ToString();
int
width;
width = 120 * (dt_Graph.Rows.Count);
RadChart1.Width = width;
RadChart1.Height = 400;
RadChart1.PlotArea.Appearance.FillStyle.MainColor = System.Drawing.Color.White;
RadChart1.PlotArea.Appearance.FillStyle.SecondColor = System.Drawing.Color.White;
RadChart1.PlotArea.YAxis.AutoScale =
false
;
RadChart1.PlotArea.YAxis.MaxValue = Convert.ToDouble(max);
RadChart1.PlotArea.YAxis.ScaleBreaks.MaxCount = 7;
RadChart1.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.Black;
RadChart1.PlotArea.Appearance.Dimensions.Margins.Bottom = Telerik.Charting.Styles.Unit.Pixel(100);
// bind to the datasource
RadChart1.DataBind();
}
}