Telerik Forums
UI for ASP.NET AJAX Forum
6 answers
303 views

I have undertaken a major project which I am hoping the RAD controls will help me accomplish.

I had started the project with webparts using connection and catalog zones of the webparts.

What I have is this

I need docks to be distributed accross tabs. And this needs to happen dynamically. I am tryng to use the rad dock from the prometheus controls. So i have the tabstrip and the dock  layout in the the default.aspx. In the code behind in the page load I am dynamically creating the various tabs and the zones and the initial docks. I am getting this information from am xml file that is the layout defined per user. 

The docks are user controls , which are rad grids. The rad grids are various reports of the logged in users activities . So the user controls need to recognize the user, his account details and generate the reports accordingly.

A user can have multiple accounts, so the system needs to allow the user to change the account to the one he needs. Also the user should be able to regenerate the reports for different dates. Also some of the user controls need to talk to each other. so selecting rows from one user control grid, should change a report generated at another user control docked in a diffferent zone. And all this needs to be done ajaxified.

Also, there should be a way to have a drop down at the top of the page with all accounts that a user has access to , and a calendar. Selecting an account and a date should regenerate all / some (Each dock should have a configurable property allowing / disallowing this feature) the docks for the account and date selected.

Also need a way to maximize each doc to a complete screen, with a detailed version of the report.

First question, is all this possible?

Second the roadblocks so far -
1. When I distribute zones accross tabs , for some reason docks in only the initial tab works. Basically when  the tab indes set by selectedIndex property on the docklayout. So when I change tabs , I see the dock title on the docs but nothing else, not even a maximize button. Some code that I have -

 For Each page In Me.TabPages  
            Dim g As New Tab  
            ' Dim g As New AjaxControlToolkit.TabPanel  
 
            g.ID = page.Name  
            g.Text = page.Name  
            If (counter = 0) Then  
                g.Visible = True 
            End If  
 
            ' g.HeaderText = page.Name  
 
            Dim pv As New PageView  
            pv.ID = page.Name  
 
 
 
            Dim tabl As New Table()  
            tabl.Width = Unit.Percentage(100)  
            tabl.Height = Unit.Percentage(100)  
            Dim tbr As New TableRow()  
            For Each z As ZoneDesc In page.Zones  
 
                ' Next  
                ' For i As Integer = 1 To page.Cols  
 
                Dim tbc As New TableCell()  
                'If page.Cols = 3 Then  
                'Select Case i  
                '   Case 1  
                'tbc.Width = Unit.Percentage(15)  
                '   Case 2  
                'tbc.Width = Unit.Percentage(70)  
                '   Case 3  
                'tbc.Width = Unit.Percentage(15)  
 
                ' End Select  
                ' Else  
                tbc.Width = Unit.Percentage(100 / page.Zones.Count)  
                'End If  
 
                tbc.Height = Unit.Percentage(100)  
                  
                tbc.VerticalAlign = VerticalAlign.Top  
 
 
 
 
                ' Dim zone As WebPartZone = New WebPartZone()  
                Dim zone As New RadDockZone  
                zzone.ID = z.Name  
                zone.BorderWidth = Unit.Pixel(1)  
                zone.Width = Unit.Percentage(100)  
                'zone.Height = Unit.Percentage(50)  
 
                zone.CssClass = "zone" 
                Dim c As Integer = 0 
                For Each d As Dockdesc In z.Docks  
 
                    Dim dock As New RadDock  
                    ddock.Tag = d.Tags  
                    Dim widget As Control = Me.LoadControl(dock.Tag, d.Value, "06/14/07")  
 
                    dock.ContentContainer.Controls.Add(widget)  
                    ddock.Title = d.Name  
                    dock.EnableDrag = False 
                    dock.Height = Unit.Percentage(100)  
                    dock.Width = Unit.Percentage(100)  
                    dock.ID = page.Name & "_" & d.Name & "_" & z.Name & "_" & c  
                    dock.Width = Unit.Percentage(100)  
                    zone.Controls.Add(dock)  
                    cc = c + 1  
                Next  
 
                tbc.Controls.Add(zone)  
                tbr.Cells.Add(tbc)  
            Next  
 
            tabl.Rows.Add(tbr)  
            '  Dim txt As New Label  
            '  txt.Text = page.Name.ToString()  
            pv.Controls.Add(tabl)  
 
 
 
            RadMultiPage1.PageViews.Add(pv)  
 
 
 
 
            RadTabStrip1.Tabs.Add(g)  
 
            countercounter = counter + 1  
 
        Next 

2. I am trying to do it so I can pass parameters in the loadcontrol method. I have overloaded the loadcontrol by the code

Private Overloads Function LoadControl(ByVal UserControlPath As String, ByVal ParamArray constructorParameters As Object()) As UserControl  
        Dim constParamTypes As New List(Of Type)  
        For Each constParam As Object In constructorParameters  
            constParamTypes.Add(constParam.[GetType]())  
        Next  
 
        Dim ctl As UserControl = TryCast(Page.LoadControl(UserControlPath), UserControl)  
 
        ' Find the relevant constructor  
        Dim constructor As Reflection.ConstructorInfo = ctl.[GetType]().BaseType.GetConstructor(constParamTypes.ToArray())  
 
        'And then call the relevant constructor  
        If constructor Is Nothing Then  
            Throw New MemberAccessException("The requested constructor was not found on : " + ctl.[GetType]().BaseType.ToString())  
        Else  
            constructor.Invoke(ctl, constructorParameters)  
        End If  
 
        ' Finally return the fully initialized UC  
        Return ctl  
    End Function 

This is something I ot of a blog. It was in C and I converted to VBnet and as of now it does not work. Still working on it, but ould appreciate if someone can point me in a better direction.

3. Can doks be configured to be connected like webparts? If so I can 1. connec my docks to each other and 2. create a dock that has the account dropdowns and connect that to all docks. And can this connection be dynamic so the user can decide if the connection be enabled/ disabled?

4. How do we maximize the  dock to be a complete page size - and also again regenerate the reports to get a detailed version.

I am putting this out in the hope that someone says ' thats easy , and this is the code that will do it'! But I am sure thats high hopes. But any help on any of the issues will be appreciated. By the way I am doing all this using trial versions of the rad controls. My boss will authorize the purchase if I can show that this can work.

Again, any help will be appreciated.

Petio Petkov
Telerik team
 answered on 14 Sep 2007
3 answers
193 views
Hello,

I am working with your LoadingUserControls example.
I understand your example but in what I want to do, it is slight different because in the ASCX I want to load, I have a part of code which I want to be loaded only if Page.IsPostBack is false....

To be more precise, on the ASCX Page_Load, I have :

if (IsPostBack)  
    return;  
 
BindingDropDownList(); 

I really need to have the DropDownList bind here.

Do you have any solution for such a problem?

Thank for your time.
Haderach
Top achievements
Rank 1
 answered on 13 Sep 2007
4 answers
123 views
Hi

Please have a look at my aspx and tell me why I am only seeing one RadSlidingPane ...

aspx...
<%@ Page Language="VB" UICulture="en" Culture="en-GB" CodeFile="Default.aspx.vb" Inherits="_Default" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<%@ Register TagPrefix="dare" TagName="meta" Src="resources/meta.ascx" %> 
 
<%@ Register assembly="RadAjax.Net2" namespace="Telerik.WebControls" tagprefix="radA" %> 
 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head> 
    <title id="titleDefault" runat="server"></title> 
    <dare:meta id="meta" runat="server"></dare:meta> 
    <link href="css/main.css" type="text/css" rel="Stylesheet" /> 
</head> 
<body class="BodyDefault">  
    <form id="formDefault" runat="server">  
        <asp:ScriptManager ID="smDefault" runat="server">  
        </asp:ScriptManager> 
        <telerik:RadAjaxManager ID="ramDefault" runat="server">  
        </telerik:RadAjaxManager> 
        <radA:AjaxLoadingPanel ID="alpDefault" Runat="server" height="75px"   
            width="75px">  
            <asp:Image ID="imgLoading" runat="server" AlternateText="Loading..."   
                ImageUrl="~/RadControls/Ajax/Skins/Default/Loading.gif" /> 
        </radA:AjaxLoadingPanel> 
        <telerik:RadToolTipManager ID="rttmDefault" runat="server">  
        </telerik:RadToolTipManager> 
        <telerik:RadToolTip ID="rttDefaultLoginDARE" runat="server" CssClass="rttDefaultLoginDARE" TargetControlID="rpDefaultLoginDS">  
        </telerik:RadToolTip> 
        <telerik:RadToolTip ID="rTtDefaultLoginDS" runat="server" cssclass="rttDefaultLoginDS" TargetControlID="rpDefaultLoginDARE">  
        </telerik:RadToolTip> 
        <telerik:RadSplitter ID="rsDefaultMain" runat="server" CssClass="rsDefaultMain" Height="100%" Width="100%" Orientation="Vertical">  
            <telerik:RadPane ID="rpDefaultLeftSlidingZone" runat="server" CssClass="rpDefaultLeftSlidingZone" Width="22px" Height="100%" Scrolling="None">  
                <telerik:RadSlidingZone ID="rszDefaultLeftSlidingZone" Runat="server" CssClass="rszDefaultLeftSlidingZone" Height="100%" Width="22px">  
                    <telerik:RadSlidingPane ID="rspDefaultLoginDS" runat="server" CssClass="rspDefaultLoginDS" Height="100%" Width="350px">  
                        <telerik:RadSplitter ID="rsDefaultLoginDS" runat="server" CssClass="rsDefaultLoginDS" Height="100%" Orientation="Horizontal" Width="100%">  
                            <telerik:RadPane ID="rpDefaultLoginDS" runat="server" CssClass="rpDefaultLoginDS" Locked="true" Scrolling="None" Width="100%">  
                            </telerik:RadPane> 
                        </telerik:RadSplitter> 
                    </telerik:RadSlidingPane> 
                    <telerik:RadSlidingPane ID="rspDefaultLoginDARE" runat="server" CssClass="rspDefaultLoginDARE" Height="100%" Width="350px">  
                        <telerik:RadSplitter ID="rsDefaultLoginDARE" runat="server" CssClass="rsDefaultLoginDARE" Height="100%" Orientation="Horizontal" Width="100%">  
                            <telerik:RadPane ID="rpDefaultLoginDARE" runat="server" CssClass="rpDefaultLoginDARE" Locked="true" Scrolling="None" Width="100%">  
                            </telerik:RadPane> 
                        </telerik:RadSplitter> 
                    </telerik:RadSlidingPane> 
                </telerik:RadSlidingZone> 
            </telerik:RadPane> 
            <telerik:RadPane ID="rpDefaultPage" runat="server" CssClass="rpDefaultPage" Width="100%" Height="100%" Scrolling="None">  
                <telerik:RadSplitter ID="rsDefaultPage" runat="server" CssClass="rsDefaultPage" Height="100%" Orientation="Horizontal" Width="100%">  
                    <telerik:RadPane ID="rpDefaultHeader" runat="server" CssClass="rpDefaultHeader" Height="100px" Locked="true" Scrolling="None" Width="100%">  
                    </telerik:RadPane> 
                    <telerik:RadPane ID="rpDefaultContent" runat="server" CssClass="rpDefaultContent" Scrolling="Both" Width="100%">  
                    </telerik:RadPane> 
                    <telerik:RadPane ID="rpDefaultFooter" runat="server" CssClass="rpDefaultFooter" Height="50px" Locked="true" Scrolling="None" Width="100%">  
                    </telerik:RadPane> 
                </telerik:RadSplitter> 
            </telerik:RadPane> 
        </telerik:RadSplitter> 
    </form> 
    <script language="javascript" type="text/javascript">  
        function RefreshHeader(sContentURL) {  
            $find('<%= rpDefaultHeader.ClientID %>').set_ContentUrl(sContentURL);  
        }  
        function RefreshContent(sContentURL) {  
            $find('<%= rpDefaultContent.ClientID %>').set_ContentUrl(sContentURL);  
        }  
        function RefreshFooter(sContentURL) {  
            $find('<%= rpDefaultFooter.ClientID %>').set_ContentUrl(sContentURL);  
        }  
        function RefreshSlidingZoneDareLogin(sContentURL) {  
            $find('<%= rpDefaultLoginDARE.ClientID %>').set_ContentUrl(sContentURL);  
        }  
        function RefreshSlidingZoneDareSOFTLogin(sContentURL) {  
            $find('<%= rpDefaultLoginDS.ClientID %>').set_ContentUrl(sContentURL);  
        }  
    </script> 
</body> 
</html> 

NB: I am using VS 2008 Express VB

Kind Regards

David
hkdave95
Top achievements
Rank 2
Iron
 answered on 13 Sep 2007
2 answers
222 views
Hello,
We are starting to use RAD controls in Moss and was wondering what was the best strategy for integrating MOSS themes and RAD skins. 

Should we just apply the MOSS theme name as the skin name for each control and create a new skin for each MOSS theme for each control.

Lot of work.  Is there a better (easier) way?

Thanks!
Bruce VB
Bruce Van Buren
Top achievements
Rank 1
 answered on 12 Sep 2007
1 answer
186 views
Is it possible to use the auto-save function (as per the the demo at http://www.telerik.com/demos/aspnet/Controls/Examples/Integration/AspNetAjax/AutoSaveRadEditor/DefaultCS.aspx?product=editor) using the radEditor for MOSS?
If so, can you explain how?

Thanks Andy
Rumen
Telerik team
 answered on 12 Sep 2007
1 answer
91 views
Hi,

I have a RadEditor wich UploadImagesPaths is set to a document library on my site.
The upload works fine when the user has 'Contribute' permissions for the whole site. But, some of our users don't have 'Contribute" permissions on the site but only on the upload document library.
Unfortunately, it seems that RadEditor only checks for permissions at site level cause the Upload tab is greyed out for these users.

Is there a way to change this behaviour or do I have to change my permissions ?

Thanks,
Lini
Telerik team
 answered on 12 Sep 2007
3 answers
90 views

Hello,

I'd like to clarify a question regarding the MOSS deployment solution for the RadEditor. I read through the documentation that showed how to create a deployment solution for the RadMenu and in it it mentioned that the RadEditor is installed via a Telerik supplied wrapper. I'm assuming this corrolates to the RadEditorMOSS.wsp solution file.

Is GAC deployment a requirment of installing the RadEditor in MOSS, or can this also be deployed via the Web Applicaiton's bin directory?

Lini
Telerik team
 answered on 12 Sep 2007
0 answers
99 views
Delete this. Duplicate
Bruce Van Buren
Top achievements
Rank 1
 asked on 11 Sep 2007
4 answers
183 views
Hi,
i just downloaded the latest build with feature preview, and if i add any of the following, i get error message "Designer creation failed for the control paramter: this"
i am using orcas beta 2
rad dock
rad splitter
rad ajax
rad slider

steve marson
Top achievements
Rank 1
 answered on 11 Sep 2007
1 answer
245 views
Hi guys, I've just began using the RadScheduler and the only thing I can say is  "It's amazing" . But I don't know how to disable a given date in the month view  to prevent adding appointments  to this date?


T. Tsonev
Telerik team
 answered on 11 Sep 2007
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?