This is a migrated thread and some comments may be shown as answers.

how to find position # of a dock in a zone

1 Answer 67 Views
Dock
This is a migrated thread and some comments may be shown as answers.
Tanuj
Top achievements
Rank 1
Tanuj asked on 01 May 2008, 04:43 AM
hi,

i am dynamically creating dock's in a single zone, the docks are dragable within the zone for repositioning, however after the respositioning is complete i want to find out the new positions in the zone.

the user would be presented with this screen and their sequence is captured.

please advise how can this be achieved..?

here is a working example of what i am trying to achieve
http://64.37.197.51/app.21online/MyListings/media_sequence.aspx?tr_key=32153146

and here is the source code
using System;  
using System.Data;  
using System.Configuration;  
using System.Collections;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Web.UI.HtmlControls;  
using C21Online.Solution.DAL.App;  
using Telerik.Web.UI;    
public partial class MyListings_media_sequence : System.Web.UI.Page  
{  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (Request["tr_key"] != "")  
        {  
            BuildThePage(Convert.ToInt32(Request["tr_key"].ToString()));  
        }  
    }  
 
    private void BuildThePage(int tr_key)  
    {  
        DataSet PhotosDS = new DataSet();  
        PhotosDS = Listings.GetPhotosByListing(tr_key);  
        if (PhotosDS != null)  
        {  
            Image img;  
            for (int i = 0; i < PhotosDS.Tables[0].Rows.Count; i++)  
            {  
                imgnew Image();  
                img.CssClass = "thumbnail";   
                img.ID = "thumbnail_" + i.ToString();  
                img.ImageUrl = PhotosDS.Tables[0].Rows[i]["URL"].ToString().Trim();  
                img.Width = Unit.Pixel(100);  
                img.Height = Unit.Pixel(80);  
                img.ToolTip = PhotosDS.Tables[0].Rows[i]["Title"].ToString().Trim();   
                  
                RadDock rd = new RadDock();  
                rd.ID = "DockPhoto_" + i.ToString();  
                rd.DockMode = DockMode.Docked;  
                rd.Title = (i+1).ToString();  
                rd.DockHandle = DockHandle.TitleBar;     
                rd.ContentContainer.Controls.Add(img);  
                rd.DefaultCommands = Telerik.Web.UI.Dock.DefaultCommands.None;        
                rd.Width = Unit.Pixel(120);  
                rd.Height = Unit.Pixel(120);  
                RadDockZoneHorizontal1.Controls.Add(rd);  
            }  
        }  
    }  
}  
 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="media_sequence.aspx.cs" Inherits="MyListings_media_sequence" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<!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>Photo Sequence</title> 
    <LINK href="~/css/sitestyles.css" type="text/css" rel="stylesheet">  
    <script language="javascript" type="text/javascript" src="~/JS/main.js"></script> 
</head> 
<body> 
    <form id="form1" runat="server">  
    <asp:ScriptManager ID="ScriptManager1" runat="server" > 
    </asp:ScriptManager>      
    <div> 
        <table cellpadding="0" cellspacing="0" border="0">  
            <tr> 
                <td><img src="~/Images/Misc/spacer.gif" border="0" alt="" width="5" /></td>  
                <td style="vertical-align:top;">  
                <telerik:RadDockLayout ID="RadDockLayout1" runat="server" Skin="Default" > 
                    <telerik:RadDockZone runat="server" id="RadDockZoneHorizontal1" orientation="Horizontal" 
                        BackColor="#8d8d8d" height="250px" width="650px">  
                    </telerik:RadDockZone> 
                </telerik:RadDockLayout> 
                        <asp:PlaceHolder runat="server" id="phPhotos"></asp:PlaceHolder> 
                </td> 
                <td><img src="~/Images/Misc/spacer.gif" border="0" alt="" width="5" /></td>  
            </tr> 
        </table>      
    </div> 
    </form> 
</body> 
</html> 
 

1 Answer, 1 is accepted

Sort by
0
Dimcho
Telerik team
answered on 07 May 2008, 11:14 AM
Hello Tanuj,

We have already replied your other ticket on the issue. For your convenience, I will paste the reply here:

I suggest you review our online demo Dynamically Created Docks and the help article Dynamically Creating RadDock Controls which describes how you can dynamically create docks and save their states in a storage medium such as a cookie or database. The RadDockLayout's server-side events SaveDockLayout and LoadDockLayout allow you to easily achieve this functionality. These events receive as an argument a DockLayoutEventArgs object which has two properties - DockZoneID and Index.The Index property is the position of the RadDock control in the docking zone.
If you want to add a content inside a dynamically created dock you should do this in the function which creates the dock. Please look at the following example:

private RadDock CreateRadDock()  
{  
   RadDock dock = new RadDock();  
    ...  
   System.Web.UI.WebControls.Image picture = new System.Web.UI.WebControls.Image();  
   picture.ImageUrl = "~/Images/images.jpg";  
     
   dock.ContentContainer.Controls.Add(picture);  
   ...  

All the best,
Dimcho
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
Tags
Dock
Asked by
Tanuj
Top achievements
Rank 1
Answers by
Dimcho
Telerik team
Share this question
or