or
01.
using
System;
02.
using
Telerik.Web.UI;
03.
04.
namespace
Isonet.TxpEnterprise.Developer
05.
{
06.
public
partial
class
DynamicRadTileList : Page
07.
{
08.
private
RadTileListManager myTileManager;
09.
private
const
int
myUserId = 1;
10.
protected
void
Page_Load(
object
sender, EventArgs e)
11.
{
12.
uiRadPersistenceManager.StorageProvider =
new
DbStorageProvider();
13.
myTileManager =
new
RadTileListManager();
14.
setUi();
15.
if
(!IsPostBack)
16.
{
17.
loadViewState();
18.
}
19.
}
20.
21.
private
void
setUi()
22.
{
23.
//gets all Tiles
24.
uiRadTileList.Groups.AddRange(myTileManager.GetRadTileGroupList(myUserId));
25.
uiRadTileList.TileRows = 4;
26.
}
27.
28.
protected
void
uiIconTileCreateTile_Click(
object
sender, EventArgs e)
29.
{
30.
uiRadTileList.Groups[0].Tiles.Add(myTileManager.CreateNewTile(uiColorPicker.SelectedColor, myUserId));
31.
}
32.
33.
private
void
saveViewState()
34.
{
35.
uiRadPersistenceManager.StorageProviderKey = myUserId.ToString();
36.
uiRadPersistenceManager.SaveState();
37.
}
38.
39.
private
void
loadViewState()
40.
{
41.
uiRadPersistenceManager.StorageProviderKey = myUserId.ToString();
42.
uiRadPersistenceManager.LoadState();
43.
}
44.
45.
protected
void
OnAjaxRequestHandler(
object
sender, AjaxRequestEventArgs e)
46.
{
47.
if
(e.Argument ==
"storeTileOrder"
)
48.
{
49.
saveViewState();
50.
}
51.
}
52.
}
53.
}
01.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DynamicRadTileList.aspx.cs" Inherits="Isonet.TxpEnterprise.Developer.DynamicRadTileList" %>
02.
03.
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
04.
<!DOCTYPE html>
05.
06.
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
07.
<
head
runat
=
"server"
>
08.
<
title
></
title
>
09.
</
head
>
10.
<
body
>
11.
<
form
id
=
"form1"
runat
=
"server"
>
12.
<
telerik:RadAjaxManager
ID
=
"uiRadAjaxManager"
runat
=
"server"
OnAjaxRequest
=
"OnAjaxRequestHandler"
>
13.
</
telerik:RadAjaxManager
>
14.
<
telerik:RadPersistenceManager
runat
=
"server"
ID
=
"uiRadPersistenceManager"
>
15.
<
PersistenceSettings
>
16.
<
telerik:PersistenceSetting
ControlID
=
"uiRadTileList"
/>
17.
</
PersistenceSettings
>
18.
</
telerik:RadPersistenceManager
>
19.
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
EnablePageMethods
=
"True"
/>
20.
<
div
>
21.
<
asp:Button
ID
=
"create"
OnClick
=
"uiIconTileCreateTile_Click"
runat
=
"server"
Text
=
"Create"
/>
22.
<
telerik:RadColorPicker
ID
=
"uiColorPicker"
runat
=
"server"
></
telerik:RadColorPicker
>
23.
<
telerik:RadTileList
ID
=
"uiRadTileList"
runat
=
"server"
EnableDragAndDrop
=
"true"
OnClientTileDropped
=
"fuu"
SelectionMode
=
"Multiple"
Width
=
"100%"
>
24.
</
telerik:RadTileList
>
25.
</
div
>
26.
</
form
>
27.
<
script
type
=
"text/javascript"
>
28.
function fuu() {
29.
var ajaxManager = $find("<%= uiRadAjaxManager.ClientID %>");
30.
ajaxManager.ajaxRequest("storeTileOrder");;
31.
}
32.
</
script
>
33.
</
body
>
34.
</
html
>
01.
namespace
Isonet.TxpEnterprise.Developer
02.
{
03.
public
class
RadTileListManager
04.
{
05.
public
List<TileGroup> GetRadTileGroupList(
int
userId)
06.
{
07.
List<TileGroup> tileGroupList =
new
List<TileGroup>();
08.
tileGroupList.Add(
new
TileGroup());
09.
tileGroupList.Add(
new
TileGroup());
10.
tileGroupList.Add(
new
TileGroup());
11.
addExistingRadTilesToGroup(tileGroupList[0], userId);
12.
return
tileGroupList;
13.
}
14.
15.
private
void
addExistingRadTilesToGroup(TileGroup tileGroup,
int
userId)
16.
{
17.
foreach
(DataRow row
in
ds.Tables[0].Rows)
18.
{
19.
RadTextTile textTile =
new
RadTextTile();
20.
textTile.BackColor = Color.FromArgb(
int
.Parse(row.Field<
string
>(
"color"
)));
21.
tileGroup.Tiles.Add(textTile);
22.
}
23.
}
24.
}
25.
}
<
telerik:RadStyleSheetManager
ID
=
"oStyleSheetManager"
runat
=
"server"
>
<
StyleSheets
>
<
telerik:StyleSheetReference
Path
=
"css/DivRoundedCornerBlack.css"
/>
</
StyleSheets
>
function
Row_Selecting(sender, args) {
var
grid = $find(
"<%=MyGrid2.ClientID%>"
);
var
masterTable = grid.get_masterTableView();
if
(masterTable.get_selectedItems().length >= MAX_NUMBER) {
alert("you reach the maximum number);
args.set_cancel(
true
);
}
}
.rcbScroll
{
position:fixed !important;
width:410px !important;
bottom:80px !important;
}
.rcbHeader
{
position:fixed !important;
bottom:153px !important;
width:410px !important;
}
.rcbWidth
{
background-color:White !important;
width:425px !important;
}