or
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="akUITest.aspx.vb" Inherits="Testing_akUITest" %>
<!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
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"sm"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
div
>
<
telerik:RadWindowManager
ID
=
"radWindowManager"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"radWindowEditor"
runat
=
"server"
VisibleOnPageLoad
=
"true"
>
<
ContentTemplate
>
<
telerik:RadEditor
ID
=
"radEditor"
runat
=
"server"
>
</
telerik:RadEditor
>
</
ContentTemplate
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
</
div
>
</
form
>
</
body
>
</
html
>
function
OnCheck_Changed(cb) {
var
add1 = $get(
"<%= txt_Address.ClientID %>"
);
var
add2 = $get(
"<%= txt_Address2.ClientID %>"
);
var
city = $get(
"<%= txt_City.ClientID %>"
);
var
zip = $get(
"<%= txt_PostalCode.ClientID %>"
);
var
state = $find(
"<%= cb_State.ClientID %>"
);
var
hadd1 = $get(
"<%= hdf_Address.ClientID %>"
);
var
hadd2 = $get(
"<%= hdf_Address2.ClientID %>"
);
var
hcity = $get(
"<%= hdf_City.ClientID %>"
);
var
hstate = $get(
"<%= hdf_State.ClientID %>"
);
var
hzip = $get(
"<%= hdf_PostalCode.ClientID %>"
);
if
(cb.checked ==
true
) {
//alert(hadd1);
add1.value = hadd1.value;
add2.value = hadd2.value;
city.value = hcity.value;
zip.value = hzip.value;
//var select = state.findItemByValue(hcity.value);
//select.select();
add1.readOnly =
true
;
add2.readOnly =
true
;
city.readOnly =
true
;
zip.readOnly =
true
;
//state.Disable();
}
else
{
//alert(state);
add1.readOnly =
false
;
add2.readOnly =
false
;
city.readOnly =
false
;
zip.readOnly =
false
;
//state.Enabled = true;
}
}
This is the radcombobox I am trying to get:<
telerik:RadComboBox
ID
=
"cb_State"
runat
=
"server"
DataSourceID
=
"eds_States"
HighlightTemplatedItems
=
"true"
AutoPostBack
=
"false"
Skin
=
"Simple"
DropDownWidth
=
"195"
EnableLoadOnDemand
=
"True"
Width
=
"75px"
DataValueField
=
"STATE_CODE"
DataTextField
=
"STATE_CODE"
OnDataBound
=
"cb_State_DataBound"
Enabled
=
"false"
>
<
HeaderTemplate
>
<
table
>
<
tr
>
<
td
style
=
"width: 45px"
>
State Code
</
td
>
<
td
style
=
"width: 150px"
>
State Name
</
td
>
</
tr
>
</
table
>
</
HeaderTemplate
>
<
ItemTemplate
>
<
table
>
<
tr
>
<
td
style
=
"width: 45px"
>
<%# DataBinder.Eval(Container.DataItem, "STATE_CODE")%>
</
td
>
<
td
style
=
"width: 150px"
>
<%# DataBinder.Eval(Container.DataItem, "STATE")%>
</
td
>
</
tr
>
</
table
>
</
ItemTemplate
>
</
telerik:RadComboBox
>
<
telerik:RadTreeView
ID
=
"RadTreeView1"
runat
=
"server"
DataFieldID
=
"ID"
DataFieldParentID
=
"ParentID"
MultipleSelect
=
"true"
EnableDragAndDrop
=
"true"
OnClientDoubleClick
=
"onNodeDoubleClick"
OnClientNodeClicked
=
"onNodeClick"
EnableDragAndDropBetweenNodes
=
"true"
ShowLineImages
=
"true"
OnClientContextMenuItemClicking
=
"onClientContextMenuItemClicking"
OnClientNodeExpanded
=
"onNodeExpanded"
OnClientContextMenuShowing
=
"onClientContextMenuShowing"
Skin
=
"dsSkin"
EnableEmbeddedSkins
=
"False"
AppendDataBoundItems
=
"true"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Document Date"
Value
=
"dateslider"
>
<
NodeTemplate
>Document Date</
NodeTemplate
>
<
Nodes
>
<
telerik:RadTreeNode
Value
=
"datesliderchild"
>
<
NodeTemplate
>
<%-- Node Template with control which I need to access AFTER ajax requests --%>
<
telerik:RadSlider
runat
=
"server"
ID
=
"radSliderDates"
IsSelectionRangeEnabled
=
"true"
Width
=
"250"
AutoPostBack
=
"true"
ShowDecreaseHandle
=
"false"
ShowIncreaseHandle
=
"false"
OnClientValueChanging
=
"onClientValueChanging"
OnClientSlideStart
=
"onClientSlideStart"
OnClientSlideEnd
=
"onClientSlideEnd"
OnClientSlide
=
"onClientSlide"
/>
</
NodeTemplate
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeNode
>
</
Nodes
>
<
NodeTemplate
>
<%-- Global Node Template which I apply to data-bound items --%>
</
NodeTemplate
>
</
telerik:RadTreeView
>
protected
void
Page_Load(
object
sender, EventArgs e)
{
#region Load Event Handlers
//Find node I am looking for - then assign controls to protected page variables.
//On postbacks/ajax requests, the node is found, but the FindControl method does not find anything because the node has the wrong template
RadTreeNode node = RadTreeView1.FindNodeByValue(
"datesliderchild"
);
radSliderDates = (RadSlider)node.FindControl(
"radSliderDates"
);
lblSliderEndDate = (Label)node.FindControl(
"lblSliderEndDate"
);
lblSliderStartDate = (Label)node.FindControl(
"lblSliderStartDate"
);
radSliderDates.ValueChanged +=
new
EventHandler(radSliderDates_ValueChanged);
#endregion
if
(!IsPostBack)
{
}
}
CREATE
TABLE
[dbo].[Widgets](
[WidgetsID] [
int
] IDENTITY(1,1)
NOT
NULL
,
[WidgetsName] [nvarchar](
max
)
NOT
NULL
,
[WidgetsUrl] [nvarchar](
max
)
NULL
,
[Description] [nvarchar](
max
)
NULL
,
[StatusID] [
int
]
NOT
NULL
,
[CreatedByID] [
int
]
NOT
NULL
,
[CreatedByDate] [datetime]
NOT
NULL
,
[ModifiedByID] [
int
]
NULL
,
[ModifiedByDate] [datetime]
NULL
,
CONSTRAINT
[PK_Widgets]
PRIMARY
KEY
CLUSTERED
(
[WidgetsID]
ASC
)
WITH
(PAD_INDEX =
OFF
, STATISTICS_NORECOMPUTE =
OFF
, IGNORE_DUP_KEY =
OFF
, ALLOW_ROW_LOCKS =
ON
, ALLOW_PAGE_LOCKS =
ON
)
ON
[
PRIMARY
]
)
ON
[
PRIMARY
]
GO
-----------------------------------------------------------
CREATE
TABLE
[dbo].[WidgetsPersonalized](
[WidgetsPersonalizedID] [
int
] IDENTITY(1,1)
NOT
NULL
,
[EmpNo] [
int
]
NOT
NULL
,
[WidgetsID] [nvarchar](50)
NULL
,
[DockString] [nvarchar](
max
)
NULL
,
[StatusID] [
int
]
NOT
NULL
,
[CreatedByID] [
int
]
NOT
NULL
,
[CreatedByDate] [datetime]
NOT
NULL
,
[ModifiedByID] [
int
]
NULL
,
[ModifiedByDate] [datetime]
NULL
,
CONSTRAINT
[PK_WidgetsPersonalized]
PRIMARY
KEY
CLUSTERED
(
[WidgetsPersonalizedID]
ASC
,
[EmpNo]
ASC
)
WITH
(PAD_INDEX =
OFF
, STATISTICS_NORECOMPUTE =
OFF
, IGNORE_DUP_KEY =
OFF
, ALLOW_ROW_LOCKS =
ON
, ALLOW_PAGE_LOCKS =
ON
)
ON
[
PRIMARY
]
)
ON
[
PRIMARY
]
GO
--------------------------------------------------
-- exec usp_DeleteWidgets 1,'Branch Status',''
CREATE
Procedure
[dbo].[usp_DeleteWidgets]
(
@EmpNo
as
int
,
@DockTitle
as
nvarchar(
MAX
),
@ReturnVal
int
output
)
as
Begin
set
@ReturnVal = 0
declare
@temptable
TABLE
(items
varchar
(8000))
declare
@Delimiter
char
(1)
set
@Delimiter =
','
Declare
@WidgetsID
as
varchar
(20)
Declare
@WidgetsList
as
varchar
(
MAX
)
Declare
@NewWidgetsList
as
varchar
(
MAX
)
Declare
@MaxRecordExist
as
int
-- get WidgetsID from Widgets using WidgetsName
set
@WidgetsID = (
select
cast
(WidgetsID
as
varchar
(20))
as
WidgetsID
from
Widgets
where
upper
(ltrim(rtrim(WidgetsName))) =
upper
(ltrim(rtrim(@DockTitle))))
-- Get List of Existing Widgets for perticuler employee
set
@WidgetsList = (
select
WidgetsID
from
WidgetsPersonalized
where
EmpNo = @EmpNo)
-- Split Existing Widgets list and insert it into TempTable.
insert
into
@temptable (Items)
select
Items
from
dbo.Split(@WidgetsList,@Delimiter)
-- Check if Only one record exist for the user than delete the record.
-- else Update the exist widgets list.
set
@MaxRecordExist = (
Select
Count
(*)
from
@temptable)
print @MaxRecordExist
if(@MaxRecordExist = 1)
Begin
delete
from
WidgetsPersonalized
where
EmpNo = @EmpNo
set
@ReturnVal = 1
End
else
Begin
select
@NewWidgetsList =
COALESCE
(@NewWidgetsList + @Delimiter,
''
) + Items
from
@temptable
where
not
(charIndex(
','
+ rtrim(
cast
(Items
as
nvarchar(
max
))) +
','
,
','
+
isnull
(@WidgetsID,-1) +
','
) >0 )
print @NewWidgetsList
update
WidgetsPersonalized
set
WidgetsID =
isnull
(@NewWidgetsList,WidgetsID)
where
EmpNo = @EmpNo
set
@ReturnVal = 1
End
End
GO
------------------------------
CREATE
Procedure
[dbo].[usp_InsertWidgetsPersonalized]
(
@WidgetsPersonalizedID
int
,
@EmpNo
int
,
@WidgetsID nvarchar(50),
@DockString nvarchar(
MAX
),
@StatusID
int
,
@CreatedByID
int
,
@ReturnVal
int
output
)
as
Begin
set
@ReturnVal = 0
select
@WidgetsPersonalizedID = WidgetsPersonalizedID
from
WidgetsPersonalized
where
EmpNo = @EmpNo
--if(@WidgetsID is not null)
--Begin
if(@WidgetsPersonalizedID > 0)
Begin
Declare
@WidgetsIDExist
int
select
@WidgetsIDExist =
Count
(*)
from
dbo.Split((
select
WidgetsID
from
WidgetsPersonalized
where
EmpNo = @EmpNo),
','
)
where
Items = @WidgetsID
Update
WidgetsPersonalized
set
WidgetsID =
case
when
@WidgetsID
is
not
null
and
@WidgetsIDExist = 0
then
(ltrim(rtrim(WidgetsID))+
','
+@WidgetsID)
else
ltrim(rtrim(WidgetsID))
end
,
DockString =
isnull
(@DockString,DockString),
StatusID =
isnull
(@StatusID,StatusID),
ModifiedByID =
isnull
(@CreatedByID,ModifiedByID),
ModifiedByDate = getdate()
where
EmpNo = @EmpNo
set
@ReturnVal = 1
End
else
Begin
if(@WidgetsID
is
not
null
)
Begin
Insert
into
WidgetsPersonalized
(EmpNo,WidgetsID,DockString,StatusID, CreatedByID,CreatedByDate,ModifiedByID,ModifiedByDate)
values
(@EmpNo, @WidgetsID, @DockString, @StatusID, @CreatedByID,GetDate(),@CreatedByID,GetDate())
set
@ReturnVal = 1
End
End
--End
End
GO
----------------------------------
-- exec usp_SelectWidgets 1,null
CREATE
procedure
[dbo].[usp_SelectWidgets]
(
@EmpNo
int
,
@StatusID
int
)
as
Begin
Declare
@WidgetsID
as
varchar
(20)
select
@WidgetsID = WidgetsID
from
WidgetsPersonalized
where
EmpNo = @EmpNo
select
WidgetsID,WidgetsName,WidgetsUrl,[Description],StatusID,CreatedByID,
CreatedByDate,ModifiedByID,ModifiedByDate
from
Widgets
where
StatusID =
isnull
(@StatusID,StatusID)
and
not
(charIndex(
','
+ rtrim(
cast
(WidgetsID
as
nvarchar(
max
)))
+
','
,
','
+
isnull
(@WidgetsID,-1) +
','
) >0 )
End
GO
------------------------------------
-- exec usp_SelectWidgetsPersonalized null
CREATE
procedure
[dbo].[usp_SelectWidgetsPersonalized]
(
@EmpNo
int
,
@StatusID
int
)
as
Begin
select
WidgetsPersonalizedID,EmpNo,WidgetsID,DockString,StatusID,CreatedByID,
CreatedByDate,ModifiedByID,ModifiedByDate
from
WidgetsPersonalized
where
StatusID =
isnull
(@StatusID,StatusID)
and
EmpNo =
isnull
(@EmpNo,EmpNo)
End
GO
----------------------------------------
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="Default" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"Server"
>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"lnkBtnAddWidgets"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"dlDashBoard"
LoadingPanelID
=
"radloadingpanal"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"ddlWidgets"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"lnkBtnClose"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"dlDashBoard"
LoadingPanelID
=
"radloadingpanal"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"dlDashBoard"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"dlDashBoard"
LoadingPanelID
=
"radloadingpanal"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<%-- <
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
function ImgChange(ControlID, TitleContent) {
$("#" + TitleContent).slideToggle(500);
if (ControlID.className == "collapsibleUP") {
ControlID.setAttribute("class", "collapsibleDown");
}
else {
ControlID.setAttribute("class", "collapsibleUP");
}
}
</
script
>
</
telerik:RadScriptBlock
>--%>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"Server"
>
<
table
cellpadding
=
"0"
cellspacing
=
"2"
border
=
"0"
style
=
"width: 100%"
>
<
tr
>
<
td
align
=
"right"
>
<
asp:LinkButton
ID
=
"lnkBtnPersonalizePage"
runat
=
"server"
Text
=
"Personalize this page My page"
class
=
"collapsibleDown"
OnClick
=
"lnkBtnPersonalizePage_Click"
></
asp:LinkButton
>
<
asp:Panel
ID
=
"pnlAddWidgets"
runat
=
"server"
Visible
=
"false"
>
<
table
cellpadding
=
"0"
cellspacing
=
"2"
border
=
"0"
>
<
tr
valign
=
"middle"
align
=
"right"
>
<
td
>
<
telerik:RadComboBox
ID
=
"ddlWidgets"
runat
=
"server"
DataTextField
=
"WidgetsName"
DataValueField
=
"WidgetsID"
>
</
telerik:RadComboBox
>
</
td
>
<
td
>
<
telerik:RadComboBox
ID
=
"ddlPosition"
runat
=
"server"
>
<
Items
>
<
telerik:RadComboBoxItem
Selected
=
"true"
Text
=
"Select Position"
Value
=
"-1"
/>
<
telerik:RadComboBoxItem
Text
=
"Top"
Value
=
"TOP"
/>
<
telerik:RadComboBoxItem
Text
=
"Right"
Value
=
"RIGHT"
/>
<
telerik:RadComboBoxItem
Text
=
"Left"
Value
=
"LEFT"
/>
</
Items
>
</
telerik:RadComboBox
>
</
td
>
<
td
align
=
"right"
rowspan
=
"2"
>
<
asp:LinkButton
ID
=
"lnkBtnAddWidgets"
runat
=
"server"
Text
=
"Add"
CssClass
=
"IconAdd"
OnClick
=
"lnkBtnAddWidgets_Click"
></
asp:LinkButton
>
</
td
>
<
td
align
=
"right"
rowspan
=
"2"
>
<
asp:LinkButton
ID
=
"lnkBtnClose"
runat
=
"server"
Text
=
"Close"
CssClass
=
"IconBack"
OnClick
=
"lnkBtnClose_Click"
></
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
asp:Panel
>
</
td
>
</
tr
>
</
table
>
<%-- <
tr
>
<
td
align
=
"center"
valign
=
"top"
>--%>
<
telerik:RadDockLayout
ID
=
"dlDashBoard"
runat
=
"server"
OnLoadDockLayout
=
"dlDashBoard_LoadDockLayout"
OnSaveDockLayout
=
"dlDashBoard_SaveDockLayout"
>
<
table
cellpadding
=
"4"
cellspacing
=
"4"
style
=
"width: 100%"
border
=
"0"
>
<
tr
valign
=
"top"
>
<
td
colspan
=
"2"
>
<
telerik:RadDockZone
ID
=
"dzTop"
runat
=
"server"
Width
=
"100%"
Height
=
"100%"
BorderStyle
=
"None"
>
</
telerik:RadDockZone
>
</
td
>
</
tr
>
<
tr
valign
=
"top"
>
<
td
style
=
"width: 50%"
>
<
telerik:RadDockZone
ID
=
"dzLeft"
runat
=
"server"
Width
=
"100%"
Height
=
"100%"
BorderStyle
=
"None"
>
</
telerik:RadDockZone
>
</
td
>
<
td
style
=
"width: 50%"
>
<
telerik:RadDockZone
ID
=
"dzRight"
runat
=
"server"
Width
=
"100%"
Height
=
"100%"
BorderStyle
=
"None"
>
</
telerik:RadDockZone
>
</
td
>
</
tr
>
</
table
>
<
div
style
=
"display: none"
>
<
asp:UpdatePanel
runat
=
"server"
ID
=
"UpdatePanel1"
>
<
Triggers
>
<
asp:AsyncPostBackTrigger
ControlID
=
"lnkBtnAddWidgets"
EventName
=
"Click"
/>
</
Triggers
>
</
asp:UpdatePanel
>
</
div
>
</
telerik:RadDockLayout
>
<%-- </
td
>
</
tr
>--%>
</
asp:Content
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Test.Domain;
using
Test.DataModel;
using
Telerik.Web.UI;
using
System.Text;
using
System.Drawing;
public
partial
class
Default : System.Web.UI.Page
{
public
static
List<usp_SelectWidgetsResult> lstWidgets;
public
static
int
intEmpNo = 1;
private
string
_NewWidgetID;
public
string
NewWidgetID
{
get
{
return
_NewWidgetID !=
null
? _NewWidgetID :
null
; }
set
{ _NewWidgetID = value; }
}
private
bool
_IsDeleted;
public
bool
IsDeleted
{
get
{
return
_IsDeleted; }
set
{ _IsDeleted = value; }
//get { return ViewState["NewWidgetID"] != null ? ViewState["NewWidgetID"].ToString() : null; }
//set { ViewState["NewWidgetID"] = value; }
}
private
int
_count = 0;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
intEmpNo = 1;
BindDropDown();
SetDockZoneStyle(
true
, Color.Gray, BorderStyle.None);
}
}
protected
void
Page_Init(
object
sender, EventArgs e)
{
string
dockState =
""
;
lstWidgets =
new
DashboardDO().SelectWidgets(
null
,
null
);
List<usp_SelectWidgetsPersonalizedResult> WPList =
new
DashboardDO().SelectWidgetsPersonalized(intEmpNo,
null
);
if
(WPList.Count > 0)
{
dockState = WPList[0].DockString;
}
string
[] currentDockStates = dockState.Split(
'|'
);
_count = currentDockStates.Length;
//Recreate the docks in order to ensure their proper operation
for
(
int
i = 0; i < _count; i++)
{
if
(currentDockStates[i].Trim() !=
string
.Empty)
{
RadDock dock = CreateRadDockFromState(currentDockStates[i]);
dock.EnableAnimation =
true
;
if
(lstWidgets.Where(w => w.WidgetsName.Trim().ToUpper() == dock.Title.Trim().ToUpper()).ToList().Count > 0)
{
dock.ContentContainer.Controls.Add(LoadControl(lstWidgets.Where(w => w.WidgetsName.Trim().ToUpper() == dock.Title.Trim().ToUpper()).ToList()[0].WidgetsUrl));
}
dlDashBoard.Controls.Add(dock);
CreateSaveStateTrigger(dock);
}
}
}
private
void
BindDropDown()
{
//if (lstWidgets.Count < 1)
//{
lstWidgets =
new
DashboardDO().SelectWidgets(intEmpNo,
null
);
//}
ddlWidgets.Items.Clear();
ddlWidgets.DataSource = lstWidgets;
ddlWidgets.DataBind();
ddlWidgets.Items.Add(
new
RadComboBoxItem(
"Select Widget"
,
"-1"
));
ddlWidgets.SelectedValue =
"-1"
;
}
private
RadDock CreateRadDockFromState(
string
stringState)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer =
new
System.Web.Script.Serialization.JavaScriptSerializer();
DockState state = serializer.Deserialize<DockState>(stringState);
RadDock dock =
new
RadDock();
dock.ID =
string
.Format(
"RadDock{0}"
, state.UniqueName);
dock.ApplyState(state);
dock.EnableAnimation =
true
;
dock.Command +=
new
DockCommandEventHandler(dock_Command);
dock.Commands.Add(
new
DockCloseCommand());
dock.Commands.Add(
new
DockExpandCollapseCommand());
return
dock;
}
private
void
CreateSaveStateTrigger(RadDock dock)
{
dock.AutoPostBack =
true
;
dock.CommandsAutoPostBack =
true
;
AsyncPostBackTrigger saveStateTrigger =
new
AsyncPostBackTrigger();
saveStateTrigger.ControlID = dock.ID;
saveStateTrigger.EventName =
"DockPositionChanged"
;
UpdatePanel1.Triggers.Add(saveStateTrigger);
saveStateTrigger =
new
AsyncPostBackTrigger();
saveStateTrigger.ControlID = dock.ID;
saveStateTrigger.EventName =
"Command"
;
UpdatePanel1.Triggers.Add(saveStateTrigger);
}
void
dock_Command(
object
sender, DockCommandEventArgs e)
{
if
(e.Command.Name ==
"Close"
)
{
ScriptManager.RegisterStartupScript(
UpdatePanel1,
this
.GetType(),
"RemoveDock"
,
string
.Format(@"function _removeDock() {{
Sys.Application.remove_load(_removeDock);
$find(
'{0}'
).undock();
$
get
(
'{1}'
).appendChild($
get
(
'{0}'
));
$find(
'{0}'
).doPostBack(
'DockPositionChanged'
);
}};
Sys.Application.add_load(_removeDock);", ((RadDock)sender).ClientID, UpdatePanel1.ClientID),
true
);
int
val =
new
DashboardDO().DeleteWidgets(intEmpNo, ((RadDock)sender).Title.Trim());
IsDeleted =
true
;
CommonFunctions.DeleteMessage(
this
.Page, val, ((RadDock)sender).Title);
}
}
protected
void
lnkBtnAddWidgets_Click(
object
sender, EventArgs e)
{
if
(ddlWidgets.SelectedValue !=
"-1"
)
{
RadDock dock = CreateRadDock();
UpdatePanel1.ContentTemplateContainer.Controls.Add(dock);
NewWidgetID = ddlWidgets.SelectedValue;
switch
(ddlPosition.SelectedValue.ToUpper())
{
case
"TOP"
:
ScriptManager.RegisterStartupScript(
dock,
this
.GetType(),
"AddDock"
,
string
.Format(@"function _addDock() {{
Sys.Application.remove_load(_addDock); $find(
'{1}'
).dock($find(
'{0}'
));
$find(
'{0}'
).doPostBack(
'DockPositionChanged'
); }};
Sys.Application.add_load(_addDock);", dock.ClientID, dzTop.ClientID),
true
);
break
;
case
"LEFT"
:
ScriptManager.RegisterStartupScript(
dock,
this
.GetType(),
"AddDock"
,
string
.Format(@"function _addDock() {{
Sys.Application.remove_load(_addDock); $find(
'{1}'
).dock($find(
'{0}'
));
$find(
'{0}'
).doPostBack(
'DockPositionChanged'
); }};
Sys.Application.add_load(_addDock);", dock.ClientID, dzLeft.ClientID),
true
);
break
;
case
"RIGHT"
:
ScriptManager.RegisterStartupScript(
dock,
this
.GetType(),
"AddDock"
,
string
.Format(@"function _addDock() {{
Sys.Application.remove_load(_addDock); $find(
'{1}'
).dock($find(
'{0}'
));
$find(
'{0}'
).doPostBack(
'DockPositionChanged'
); }};
Sys.Application.add_load(_addDock);", dock.ClientID, dzRight.ClientID),
true
);
break
;
}
CreateSaveStateTrigger(dock);
}
}
private
RadDock CreateRadDock()
{
RadDock dock =
new
RadDock();
string
WidgetsURL = lstWidgets.Where(w => w.WidgetsID == Convert.ToInt32(ddlWidgets.SelectedValue)).ToList()[0].WidgetsUrl;
dock.UniqueName = Guid.NewGuid().ToString();
dock.ID =
string
.Format(
"RadDock{0}"
, dock.UniqueName);
dock.Title = lstWidgets.Where(w => w.WidgetsID == Convert.ToInt32(ddlWidgets.SelectedValue)).ToList()[0].WidgetsName;
dock.Width = Unit.Pixel(300);
dock.EnableAnimation =
true
;
dock.Commands.Add(
new
DockCloseCommand());
dock.Commands.Add(
new
DockExpandCollapseCommand());
dock.Command +=
new
DockCommandEventHandler(dock_Command);
dock.ContentContainer.Controls.Add(LoadControl(WidgetsURL));
return
dock;
}
protected
void
dlDashBoard_SaveDockLayout(
object
sender, DockLayoutEventArgs e)
{
string
dockState;
System.Web.Script.Serialization.JavaScriptSerializer serializer =
new
System.Web.Script.Serialization.JavaScriptSerializer();
List<DockState> stateList = dlDashBoard.GetRegisteredDocksState();
StringBuilder serializedList =
new
StringBuilder();
int
i = 0;
while
(i < stateList.Count)
{
if
(stateList[i].Closed ==
false
)
{
serializedList.Append(serializer.Serialize(stateList[i]));
serializedList.Append(
"|"
);
}
i++;
}
dockState = serializedList.ToString();
try
{
usp_SelectWidgetsPersonalizedResult WP =
new
usp_SelectWidgetsPersonalizedResult();
WP.EmpNo = intEmpNo;
if
(NewWidgetID !=
null
)
{
WP.WidgetsID = NewWidgetID;
}
WP.DockString = dockState;
if
(IsDeleted ==
false
)
{
int
val =
new
DashboardDO().InsertWidgetsPersonalized(WP);
if
(val == 1)
{
NewWidgetID =
null
;
BindDropDown();
ddlWidgets.SelectedValue =
"-1"
;
}
}
}
catch
{
}
}
protected
void
dlDashBoard_LoadDockLayout(
object
sender, DockLayoutEventArgs e)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer =
new
System.Web.Script.Serialization.JavaScriptSerializer();
//Get saved state string from the database - set it to dockState variable for example
string
dockState =
""
;
try
{
List<usp_SelectWidgetsPersonalizedResult> WPList =
new
DashboardDO().SelectWidgetsPersonalized(intEmpNo,
null
);
if
(WPList.Count > 0)
{
dockState = WPList[0].DockString;
}
}
catch
{
}
string
[] currentDockStates = dockState.Split(
'|'
);
foreach
(
string
stringState
in
currentDockStates)
{
if
(stringState.Trim() !=
string
.Empty)
{
DockState state = serializer.Deserialize<DockState>(stringState);
e.Positions[state.UniqueName] = state.DockZoneID;
e.Indices[state.UniqueName] = state.Index;
}
}
}
protected
void
lnkBtnPersonalizePage_Click(
object
sender, EventArgs e)
{
SetDockZoneStyle(
false
, Color.Gray, BorderStyle.Dashed);
}
protected
void
lnkBtnClose_Click(
object
sender, EventArgs e)
{
SetDockZoneStyle(
true
, Color.Gray, BorderStyle.None);
}
private
void
SetDockZoneStyle(
bool
IsVisible, Color dzBorderColor, BorderStyle dzBorderStyle)
{
if
(IsVisible ==
false
)
{
lnkBtnPersonalizePage.Visible =
false
;
pnlAddWidgets.Visible =
true
;
if
(dlDashBoard.GetRegisteredDocksState().Count > 0)
{
int
i = 0;
while
(i < dlDashBoard.GetRegisteredDocksState().Count)
{
if
(dlDashBoard.RegisteredDocks[i].Commands.Count == 0)
{
dlDashBoard.RegisteredDocks[i].Command +=
new
DockCommandEventHandler(dock_Command);
dlDashBoard.RegisteredDocks[i].Commands.Add(
new
DockCloseCommand());
dlDashBoard.RegisteredDocks[i].Commands.Add(
new
DockExpandCollapseCommand());
}
dlDashBoard.RegisteredDocks[i].Pinned =
false
;
i++;
}
}
}
else
{
lnkBtnPersonalizePage.Visible =
true
;
pnlAddWidgets.Visible =
false
;
if
(dlDashBoard.GetRegisteredDocksState().Count > 0)
{
int
i = 0;
//dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
//dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
while
(i < dlDashBoard.GetRegisteredDocksState().Count)
{
int
k = dlDashBoard.RegisteredDocks[i].Commands.Count - 1;
//for (int j = k; j >= 0; j--)
//{
dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
// dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
//}
//dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
if
(dlDashBoard.RegisteredDocks[i].Commands.Count > 0)
{
// dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
//int k = dlDashBoard.RegisteredDocks[i].Commands.Count - 1;
//for (int j = k; j >= 0; j--)
//{
// dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(j);
//}
// dlDashBoard.RegisteredDocks[i].Commands.RemoveAll(w => w.Name == "Close");
// dlDashBoard.RegisteredDocks[i].Commands.RemoveAll(w => w.Name == "ExpandCollapse");
//dlDashBoard.RegisteredDocks[i].Commands.RemoveRange(0, dlDashBoard.RegisteredDocks[i].Commands.Count);
//dlDashBoard.RegisteredDocks[i].Commands.RemoveAt(0);
//dlDashBoard.RegisteredDocks[i].Commands.RemoveRange(0, dlDashBoard.RegisteredDocks[i].Commands.Count);
//int j = 0;
//while (j < dlDashBoard.RegisteredDocks[i].Commands.Count)
//{
// DockCommand item = new DockCommand();
// item = new DockCloseCommand();
// dlDashBoard.RegisteredDocks[i].Commands.RemoveRange(0,dlDashBoard.RegisteredDocks[i].Commands.Count-1);
// j++;
//}
}
dlDashBoard.RegisteredDocks[i].Pinned =
true
;
i++;
}
}
}
dzTop.BorderColor = dzBorderColor;
dzTop.BorderStyle = dzBorderStyle;
dzLeft.BorderColor = dzBorderColor;
dzLeft.BorderStyle = dzBorderStyle;
dzRight.BorderColor = dzBorderColor;
dzRight.BorderStyle = dzBorderStyle;
}
}
<
asp:UpdateProgress
runat
=
"server"
ID
=
"PageUpdateProgress"
AssociatedUpdatePanelID
=
"up_CSMD_Average_Response_Time"
>
<
ProgressTemplate
>
<
div
id
=
"IMGDIV"
align
=
"center"
valign
=
"middle"
runat
=
"server"
style="position: absolute;
left: 35%; top: 25%; visibility: visible; vertical-align: middle;" >
<
asp:Image
ID
=
"Image1"
runat
=
"server"
ImageUrl
=
"~/Images/loading.gif"
ImageAlign
=
"AbsMiddle"
/>
</
div
>
</
ProgressTemplate
>
</
asp:UpdateProgress
>
rcTotalsMonth.PlotArea.XAxis[0].TextBlock.Text = String.Format("{0:MMM}", tPrevDate);
<
telerik:RadGrid
GridLines
=
"None"
PageSize
=
"20"
AutoGenerateColumns
=
"false"
Culture
=
"fr-FR"
EnableHeaderContextMenu
=
"true"
EnableHeaderContextFilterMenu
=
"true"
AllowFilteringByColumn
=
"true"
AllowPaging
=
"True"
AllowSorting
=
"True"
ShowFooter
=
"True"
AllowAutomaticUpdates
=
"True"
AllowAutomaticDeletes
=
"True"
>
<
HeaderContextMenu
EnableImageSprites
=
"True"
CssClass
=
"GridContextMenu GridContextMenu_Default"
/>
<
MasterTableView
ShowGroupFooter
=
"true"
IsFilterItemExpanded
=
"false"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
EditText
=
"Editer"
CancelText
=
"Annuler"
UpdateText
=
"Mettre à jour"
InsertText
=
"Ajouter"
/>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
ButtonType
=
"ImageButton"
Text
=
"Supprimer"
/>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
ButtonType
=
"ImageButton"
EditText
=
"Editer"
CancelText
=
"Annuler"
UpdateText
=
"Mettre à jour"
InsertText
=
"Ajouter"
/>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>