Dear Telerik Team
I want to create a page, where the tiles are loaded dynamically from the database. Therefore I added a RadTileList, a RadPersistenceManager and a CustomStorageProvider. When I drag the tiles, the xml will be saved into the database in the correct format.
After calling the page again the tiles should be shown in the same position. Therefore I use the LoadState() method of the Persistencemanager. The xml string is loaded in the right format and with right information into the RadPersistanceManager. But after rendering the page, only one tile is shown. Although all tiles has been successfully loaded into the RadTileList before.
Thank you for your help
Greetings
Thomas Luck
I want to create a page, where the tiles are loaded dynamically from the database. Therefore I added a RadTileList, a RadPersistenceManager and a CustomStorageProvider. When I drag the tiles, the xml will be saved into the database in the correct format.
After calling the page again the tiles should be shown in the same position. Therefore I use the LoadState() method of the Persistencemanager. The xml string is loaded in the right format and with right information into the RadPersistanceManager. But after rendering the page, only one tile is shown. Although all tiles has been successfully loaded into the RadTileList before.
Thank you for your help
Greetings
Thomas Luck
01.using System;02.using Telerik.Web.UI;03. 04.namespace Isonet.TxpEnterprise.Developer05.{06. public partial class DynamicRadTileList : Page07. {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 Tiles24. 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.Developer02.{03. public class RadTileListManager04. {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.}