Telerik Forums
UI for ASP.NET AJAX Forum
3 answers
303 views
Hi,

When RadEditor is placed inside RadWindow following problems occur:
1) IE9 (9.0.8112.16421) + Chrome (10.0.648.205)  + Safari (5.0.5 [7533.21.1]):
 - cannot type in the Design mode
 - test entered in the HTML mode does not appear in the Design mode
 - toolbar buttons don't work
2) IE9 Compatibility View:
 - toolbar does not appear
3) FF 4.0:
- toolbar buttons don't work
1) + 2) + 3): switching between Design / Preview / HTML mode does not work correctly

Example to reproduce those issues:
<%@ 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">
<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>

Code behind is empty - just class declaration.

Additional information:
- Telerik v. 2011.1.413.40
- Windows 7 64-bit
- .Net Framework 4

Attached screenshot from IE9 Compatibility View.

Please provide solution for those problems.

Thanks,
Arek
 
Eric
Top achievements
Rank 1
 answered on 20 Apr 2011
1 answer
67 views
Hello,

I am having trouble getting an instance of my radcombobox in my javascript code.  It just returns an "Object."

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>

I have gone over it many times and can't seem to find what I am missing. Please help.
Thanks
Dean
Top achievements
Rank 2
 answered on 20 Apr 2011
26 answers
461 views
So I have a radgrid with say 20 columns that I'm trying to lock the first 3 columns on. This seems to work however the scrolling seems to be a little off. If I drag the scroll bar to the right it never remotely comes close to making it to the last column of the grid and if I click the right arrow one by one it generally will get almost always the to the end of the grid sometimes it will. Is this a bug or am I doing something wrong

 <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
            <AjaxSettings>             
                <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                    <UpdatedControls>                       
                         <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel2"/>
                    </UpdatedControls>               
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
  
       <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server" Height="75px" Width="75px" Transparency="1">
            <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' style="border:0;" />
       </telerik:RadAjaxLoadingPanel>
                          
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:EDSDConnectionString %>"
        SelectCommand="SELECT * FROM INSPECTOR">
        </asp:SqlDataSource>
       
               <telerik:RadGrid ID="RadGrid2" runat="server" AllowPaging="True" PageSize="25" DataSourceID="SqlDataSource1"
            GridLines="None" width="800px">
            <MasterTableView AutoGenerateColumns="False" DataKeyNames="inspector_pbid" DataSourceID="SqlDataSource1">
                <RowIndicatorColumn>
                    <HeaderStyle Width="20px" />
                </RowIndicatorColumn>
                <ExpandCollapseColumn>
                    <HeaderStyle Width="20px" />
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridBoundColumn DataField="inspector_pbid" DataType="System.Int32" HeaderText="inspector_pbid"
                        ReadOnly="True" SortExpression="inspector_pbid" UniqueName="inspector_pbid">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_id_prefix" HeaderText="inspector_id_prefix"
                        SortExpression="inspector_id_prefix" UniqueName="inspector_id_prefix">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_id_suffix" DataType="System.Int32"
                        HeaderText="inspector_id_suffix" SortExpression="inspector_id_suffix" UniqueName="inspector_id_suffix">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_id" HeaderText="inspector_id" ReadOnly="True"
                        SortExpression="inspector_id" UniqueName="inspector_id">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_first_name" HeaderText="inspector_first_name"
                        SortExpression="inspector_first_name" UniqueName="inspector_first_name">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_middle_name" HeaderText="inspector_middle_name"
                        SortExpression="inspector_middle_name" UniqueName="inspector_middle_name">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_last_name" HeaderText="inspector_last_name"
                        SortExpression="inspector_last_name" UniqueName="inspector_last_name">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_suffix" HeaderText="inspector_suffix"
                        SortExpression="inspector_suffix" UniqueName="inspector_suffix">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_nick_name" HeaderText="inspector_nick_name"
                        SortExpression="inspector_nick_name" UniqueName="inspector_nick_name">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_ssn" HeaderText="inspector_ssn" SortExpression="inspector_ssn"
                        UniqueName="inspector_ssn">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_date_of_birth" DataType="System.DateTime"
                        HeaderText="inspector_date_of_birth" SortExpression="inspector_date_of_birth"
                        UniqueName="inspector_date_of_birth">
                    </telerik:GridBoundColumn>
                    <telerik:GridCheckBoxColumn DataField="inspector_is_citizen" DataType="System.Boolean"
                        HeaderText="inspector_is_citizen" SortExpression="inspector_is_citizen" UniqueName="inspector_is_citizen">
                    </telerik:GridCheckBoxColumn>
                    <telerik:GridBoundColumn DataField="inspector_ethnicity_type_pbid" DataType="System.Int32"
                        HeaderText="inspector_ethnicity_type_pbid" SortExpression="inspector_ethnicity_type_pbid"
                        UniqueName="inspector_ethnicity_type_pbid">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_gender" HeaderText="inspector_gender"
                        SortExpression="inspector_gender" UniqueName="inspector_gender">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_elearning_status_type_pbid" DataType="System.Int32"
                        HeaderText="inspector_elearning_status_type_pbid" SortExpression="inspector_elearning_status_type_pbid"
                        UniqueName="inspector_elearning_status_type_pbid">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_elearning_request_date" DataType="System.DateTime"
                        HeaderText="inspector_elearning_request_date" SortExpression="inspector_elearning_request_date"
                        UniqueName="inspector_elearning_request_date">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_home_airport_code" HeaderText="inspector_home_airport_code"
                        SortExpression="inspector_home_airport_code" UniqueName="inspector_home_airport_code">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_email_address" HeaderText="inspector_email_address"
                        SortExpression="inspector_email_address" UniqueName="inspector_email_address">
                    </telerik:GridBoundColumn>
                    <telerik:GridCheckBoxColumn DataField="inspector_has_valid_email" DataType="System.Boolean"
                        HeaderText="inspector_has_valid_email" SortExpression="inspector_has_valid_email"
                        UniqueName="inspector_has_valid_email">
                    </telerik:GridCheckBoxColumn>
                    <telerik:GridCheckBoxColumn DataField="inspector_is_direct_deposit" DataType="System.Boolean"
                        HeaderText="inspector_is_direct_deposit" SortExpression="inspector_is_direct_deposit"
                        UniqueName="inspector_is_direct_deposit">
                    </telerik:GridCheckBoxColumn>
                    <telerik:GridBoundColumn DataField="inspector_driver_license_number" HeaderText="inspector_driver_license_number"
                        SortExpression="inspector_driver_license_number" UniqueName="inspector_driver_license_number">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_driver_license_state_issued" HeaderText="inspector_driver_license_state_issued"
                        SortExpression="inspector_driver_license_state_issued" UniqueName="inspector_driver_license_state_issued">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_date_license_expires" DataType="System.DateTime"
                        HeaderText="inspector_date_license_expires" SortExpression="inspector_date_license_expires"
                        UniqueName="inspector_date_license_expires">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_referred_by" HeaderText="inspector_referred_by"
                        SortExpression="inspector_referred_by" UniqueName="inspector_referred_by">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_sign_up_status" HeaderText="inspector_sign_up_status"
                        SortExpression="inspector_sign_up_status" UniqueName="inspector_sign_up_status">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_deactivation_type_pbid" DataType="System.Int32"
                        HeaderText="inspector_deactivation_type_pbid" SortExpression="inspector_deactivation_type_pbid"
                        UniqueName="inspector_deactivation_type_pbid">
                    </telerik:GridBoundColumn>
                    <telerik:GridCheckBoxColumn DataField="inspector_is_active" DataType="System.Boolean"
                        HeaderText="inspector_is_active" SortExpression="inspector_is_active" UniqueName="inspector_is_active">
                    </telerik:GridCheckBoxColumn>
                    <telerik:GridBoundColumn DataField="inspector_date_created" DataType="System.DateTime"
                        HeaderText="inspector_date_created" SortExpression="inspector_date_created" UniqueName="inspector_date_created">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_date_last_logon" DataType="System.DateTime"
                        HeaderText="inspector_date_last_logon" SortExpression="inspector_date_last_logon"
                        UniqueName="inspector_date_last_logon">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_date_last_modified" DataType="System.DateTime"
                        HeaderText="inspector_date_last_modified" SortExpression="inspector_date_last_modified"
                        UniqueName="inspector_date_last_modified">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_last_modified_by" HeaderText="inspector_last_modified_by"
                        SortExpression="inspector_last_modified_by" UniqueName="inspector_last_modified_by">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="inspector_password" HeaderText="inspector_password"
                        SortExpression="inspector_password" UniqueName="inspector_password">
                    </telerik:GridBoundColumn>
                </Columns>
            </MasterTableView>
            <ClientSettings>
                <Scrolling AllowScroll="True" UseStaticHeaders="True" FrozenColumnsCount="3" SaveScrollPosition="true" />
            </ClientSettings>
        </telerik:RadGrid>
JB
Top achievements
Rank 2
 answered on 20 Apr 2011
2 answers
132 views

Hello,

I seem to be having a problem with a radtreeview scenario and it is kind of putting my project to a halt right now.

I have a radtreeview with AppendDataBoundItems="true".  in the markup I include one node by default - with a node template.

i also bind the treeview with several more nodes (which are appended) and have a DIFFERENT NodeTemplate.

I need to access the controls in the first node from code-behind, so in my page_load event I find the control and assign it to a protected page variable.

This loads and works fine on page load.  Unfortanately, when I try to update the control via ajax - during the page_load it seems to have assigned the wrong template to the first node (it assigns the data-bound template instead).

as a result, the control that I need does not exist, and there is an error, and the ajax request never completes.

how can I get this to work across multiple updates?


the markup for the treeview:
<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)
    {
         
    }
}


ANY help on this is much appreciated!
Felipe
Top achievements
Rank 1
 answered on 20 Apr 2011
1 answer
33 views
Hi All,
I am trying to update my database after user edit any node in treeview. So, i use Client-Side event "onClientNodeEditing" and check if the new text differs than old text then i proceed with updating to database.
So my question is: How can i call server-side method from onClientNodeEditing event or what is the best practice to do this functionality?

Best Regards,
Mohamed
Kate
Telerik team
 answered on 20 Apr 2011
1 answer
96 views
Hi,
When i removing dock command direct like "dock.commands.remove(0)" than it will remove 0th index command, but when i will put this remove statement in loop it will not work properly.

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;
    }
}


Thanks,
Jayesh Goyani
Dobromir
Telerik team
 answered on 20 Apr 2011
1 answer
61 views
Hello,

I am using static as well as dynamically created RadDocks. I wish to display a nice update progress spining gear in each raddock.

I wish to get the height and width of each raddock so that spinning gear will be at center of each raddcok.

<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>
.Above code displayes it at the center of whole asp page. Can you please suggest the clilent side code to get the center of raddock and not the wholw page ?
Pero
Telerik team
 answered on 20 Apr 2011
1 answer
112 views
Can a rad label control be added to a ribbon bar group?  I have need to add some text inside a rad ribbon bar group/
Simon
Telerik team
 answered on 20 Apr 2011
4 answers
120 views
I'm programmatically creating a bar chart with 2 series. The x-axis needs to be the month but different users might have different calendar years so won't always be Jan - Dec. Not sure the best way to go about this. I had it sort of working but when there's no data for most of the months the value labels were missing or floating where they shouldn't. The x-axis was displaying correctly but the values weren't.

As I was looping through the 12 month year creating a chart item for each of the two series (current year and previous year) I was also adding a plot item like so

rcTotalsMonth.PlotArea.XAxis.Items.Add(monthItem);


where monthItem was just a string with the month abbreviation. From some other example I've seen

rcTotalsMonth.PlotArea.XAxis[0].TextBlock.Text = String.Format("{0:MMM}", tPrevDate);

but that would mean needing to tie the data to it which is what I'm not sure of.

So if someone could give me a quick example of say, an x-axis going from "Apr" to "Mar" with currency y values that would be great. Thanks.

Digital Man
Top achievements
Rank 2
 answered on 20 Apr 2011
3 answers
101 views
Hello all, 

I would like to ask you a question. In a website, usualy, you keep the same environement in the all solution.
So, when I put a <telerik:RadGrid, I would like to set default value only once in the project. Do you know if its possible ?

Like : 
<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>


Thank you very much

Jean-Yves
PageSize="20" AutoGenerateColumns="false" Culture="fr-FR"
            EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true"
            AllowPaging="True" AllowSorting="True" ShowFooter="True"
PageSize="20" AutoGenerateColumns="false" Culture="fr-FR"
            EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true"
            AllowPaging="True" AllowSorting="True" ShowFooter="True"
GridLines="None" PageSize="20" AutoGenerateColumns="false" Culture="fr-FR"
            EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true"
            AllowPaging="True" AllowSorting="True" ShowFooter="True"
PageSize="20" AutoGenerateColumns="false" Culture="fr-FR"
            EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true"
            AllowPaging="True" AllowSorting="True" ShowFooter="True"
Vasil
Telerik team
 answered on 20 Apr 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?