Telerik Forums
UI for ASP.NET AJAX Forum
3 answers
99 views
Hello,

I have a RadWindow modal open a page that contains 2 user controls. One of the user controls has a RadGrid (in yet another user control) and a couple of RadEditors, RadDatePickers and RadComboBoxes. It's a fairly long form that requires a lot of scrolling in the modal.

Everything works as expected in FF. In IE, though, the popups for the RadComboBoxes and the calender popup for the RadDatePicker controls are positioned absolute to the RadWindow's form's top, instead of where the control is on the page.

For example, if I scroll to the middle of the RadWindow so that the RadComboBox is 50px from the top of the viewable window, the actual popup (rcbSlide) is 50px from the top of the form. I need to scroll up in order to actually see the popup selections.

I'm probably missing something simple, but I've been banging my head on a wall about this for the better part of today.

Thanks for any assistance.

Smith

EDIT:
FF version 9
IE version 9
Telerik Controls 2011.3.1115.40
Marin Bratanov
Telerik team
 answered on 25 Jan 2012
5 answers
180 views
Hi,
I have a hierarchical grid with tabs in it. First-time binding data to grid works fine but once I expand and collapse the row(s), the data belong to the row does not bind properly. I'm using programmatic data-binding.
<telerik:RadGrid ID="grdLevel1" runat="server" AutoGenerateColumns="false" OnDetailTableDataBind="grdLevel1_DetailTableDataBind"
            OnItemDataBound="grdLevel1_ItemDataBound" OnItemCommand="grdLevel1_ItemCommand" OnItemCreated="grdLevel1_ItemCreated"
            OnNeedDataSource="grdLevel1_NeedDataSource">
            <MasterTableView DataKeyNames="FldOrderID" Name="Orders" HierarchyDefaultExpanded="true">
                <NoRecordsTemplate>
                    <strong>No Record Found.</strong>
                </NoRecordsTemplate>
                <Columns>
                    <telerik:GridBoundColumn DataField="FldOrderID" HeaderText="OrderID" UniqueName="FldOrderID">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FldOrderNumber" HeaderText="OrderNumber" UniqueName="FldOrderNumber">
                    </telerik:GridBoundColumn>
                </Columns>
                <DetailTables>
                    <telerik:GridTableView DataKeyNames="FldOrderDetailID" AutoGenerateColumns="false"
                        Name="OrderDetail" HierarchyDefaultExpanded="true">
                         
                        <Columns>
                            <telerik:GridBoundColumn HeaderText="Detail ID" DataField="FldOrderDetailID">
                            </telerik:GridBoundColumn>
                             
                            <telerik:GridTemplateColumn HeaderText="Source Language">
                                <ItemTemplate>
                                    <asp:Label ID="lblSourceLanguage" runat="server"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                        </Columns>
                        <DetailTables>
                            <telerik:GridTableView DataKeyNames="FldOrderDetailLanguageID,FldOrderDetailID,FldTargetLanguageID" Name="TargetLanguages"
                                AutoGenerateColumns="false" HierarchyDefaultExpanded="true">
                                <Columns>
                                    <telerik:GridTemplateColumn HeaderText="Target Language">
                                        <ItemTemplate>
                                            <asp:Label ID="lblTargetLang" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                </Columns>
                                <DetailTables>
                                    <telerik:GridTableView DataKeyNames="FldOrderDetailDocumentID" AutoGenerateColumns="false"
                                        Name="DetailDocuments" HierarchyDefaultExpanded="true">
                                        <Columns>
                                            <telerik:GridBoundColumn DataField="FldOrderDetailDocumentID" HeaderText="FldOrderDetailDocumentID">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn DataField="FldDocumentName" HeaderText="DocumentName">
                                            </telerik:GridBoundColumn>
                                        </Columns>
                                        <NestedViewTemplate>
                                            <asp:Panel runat="server" ID="InnerContainer" Visible="true">
                                                <telerik:RadTabStrip runat="server" ID="TabStip1" MultiPageID="Multipage1" SelectedIndex="0">
                                                    <Tabs>
                                                        <telerik:RadTab runat="server" Text="Standard" PageViewID="PageView1">
                                                        </telerik:RadTab>
                                                        <telerik:RadTab runat="server" Text="Normalized" PageViewID="PageView2">
                                                        </telerik:RadTab>
                                                        <telerik:RadTab runat="server" Text="Blended" PageViewID="PageView3">
                                                        </telerik:RadTab>
                                                        <telerik:RadTab runat="server" Text="Lowest" PageViewID="PageView4">
                                                        </telerik:RadTab>
                                                    </Tabs>
                                                </telerik:RadTabStrip>
                                                <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false">
                                                    <telerik:RadPageView runat="server" ID="PageView1">
                                                        <telerik:RadGrid runat="server" ID="grdStd" ShowFooter="false"
                                                        AutoGenerateColumns="false" OnItemCommand="grdChild_ItemCommand"
                                                        OnNeedDataSource="grdChild_NeedDataSource" OnDetailTableDataBind="grdLevel1_DetailTableDataBind">
                                                            <MasterTableView DataKeyNames="FldServiceTypeID" Name="StdServiceType" HierarchyDefaultExpanded="true">
                                                                <Columns>
                                                                    <telerik:GridBoundColumn DataField="FldServiceTypeName" HeaderText="Service Type"></telerik:GridBoundColumn>
                                                                </Columns>
                                                                <DetailTables>
                                                                    <telerik:GridTableView Name="StdServices" DataKeyNames="FldServiceID" AutoGenerateColumns="false" EditMode="InPlace">
                                                                        <Columns>
                                                                            <telerik:GridEditCommandColumn ButtonType="ImageButton" ></telerik:GridEditCommandColumn>
                                                                            <telerik:GridBoundColumn DataField="FldServiceName" HeaderText="Service Name"></telerik:GridBoundColumn>
                                                                        </Columns>
                                                                    </telerik:GridTableView>
                                                                </DetailTables
                                                            </MasterTableView>
                                                        </telerik:RadGrid>
                                                    </telerik:RadPageView>
                                                    <telerik:RadPageView runat="server" ID="PageView2">
                                                        <telerik:RadGrid runat="server" ID="grdNormalized"  ShowFooter="false" AutoGenerateColumns="false"
                                                        OnItemCommand="grdChild_ItemCommand" OnNeedDataSource="grdChild_NeedDataSource" OnDetailTableDataBind="grdLevel1_DetailTableDataBind">
                                                            <MasterTableView DataKeyNames="FldServiceTypeID" Name="NormalizedServiceType" HierarchyDefaultExpanded="true">
                                                                <Columns>
                                                                    <telerik:GridBoundColumn DataField="FldServiceTypeName" HeaderText="Service Type"></telerik:GridBoundColumn>
                                                                </Columns>
                                                                <DetailTables>
                                                                    <telerik:GridTableView Name="NormalizedServices" DataKeyNames="FldServiceID" AutoGenerateColumns="false">
                                                                        <Columns>
                                                                            <telerik:GridBoundColumn DataField="FldServiceName" HeaderText="Service Name"></telerik:GridBoundColumn>
                                                                        </Columns>
                                                                    </telerik:GridTableView>
                                                                </DetailTables
                                                            </MasterTableView>
                                                        </telerik:RadGrid>
                                                    </telerik:RadPageView>
                                                    <telerik:RadPageView runat="server" ID="PageView3">
                                                        <telerik:RadGrid runat="server" ID="grdBlended"  ShowFooter="false"
                                                        AutoGenerateColumns="false" OnItemCommand="grdChild_ItemCommand" OnNeedDataSource="grdChild_NeedDataSource" OnDetailTableDataBind="grdLevel1_DetailTableDataBind">
                                                            <MasterTableView DataKeyNames="FldServiceTypeID" Name="BlendedServiceType" HierarchyDefaultExpanded="true">
                                                                <Columns>
                                                                    <telerik:GridBoundColumn DataField="FldServiceTypeName" HeaderText="Service Type"></telerik:GridBoundColumn>
                                                                </Columns>
                                                                <DetailTables>
                                                                    <telerik:GridTableView Name="BlendedServices" DataKeyNames="FldServiceID"
                                                                        AutoGenerateColumns="false">
                                                                        <Columns>
                                                                            <telerik:GridBoundColumn DataField="FldServiceName" HeaderText="Service Name"></telerik:GridBoundColumn>
                                                                        </Columns>
                                                                    </telerik:GridTableView>
                                                                </DetailTables
                                                            </MasterTableView>
                                                        </telerik:RadGrid>
                                                    </telerik:RadPageView>
                                                    <telerik:RadPageView runat="server" ID="PageView4">
                                                        <telerik:RadGrid runat="server" ID="grdLowest"  ShowFooter="false"
                                                        AutoGenerateColumns="false" OnItemCommand="grdChild_ItemCommand" OnNeedDataSource="grdChild_NeedDataSource" OnDetailTableDataBind="grdLevel1_DetailTableDataBind">
                                                            <MasterTableView DataKeyNames="FldServiceTypeID" Name="LowestServiceType" HierarchyDefaultExpanded="true">
                                                                <Columns>
                                                                    <telerik:GridBoundColumn DataField="FldServiceTypeName" HeaderText="Service Type"></telerik:GridBoundColumn>
                                                                </Columns>
                                                                <DetailTables>
                                                                    <telerik:GridTableView Name="LowestServices" DataKeyNames="FldServiceID"
                                                                        AutoGenerateColumns="false">
                                                                        <Columns>
                                                                            <telerik:GridBoundColumn DataField="FldServiceName" HeaderText="Service Name"></telerik:GridBoundColumn>
                                                                        </Columns>
                                                                    </telerik:GridTableView>
                                                                </DetailTables
                                                            </MasterTableView>
                                                        </telerik:RadGrid>
                                                    </telerik:RadPageView>
                                                </telerik:RadMultiPage>
                                            </asp:Panel>
                                        </NestedViewTemplate>
                                    </telerik:GridTableView>
                                </DetailTables>
                            </telerik:GridTableView>
                        </DetailTables>
                    </telerik:GridTableView>
                </DetailTables>
            </MasterTableView>
        </telerik:RadGrid>

and Here is code behind:
public partial class GridSamples_MultilevelWithCode : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            BindGridData();
    }
 
    private void BindGridData()
    {
        //throw new NotImplementedException();
        //IQueryable<tblOrderCharge> objtblOrderCharges = tblOrderCharge.GetAllOrderCharges(Convert.ToInt32(Request.QueryString["OID"]));
        IQueryable<tblOrder> objtblOrdes = tblOrder.GetEntity(Convert.ToInt32(Request.QueryString["OID"]));
        grdLevel1.DataSource = objtblOrdes;
    }
 
    protected void grdChild_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "StdServiceType")
        {
            GridDataItem oitem = e.Item as GridDataItem;
            tblServiceType otblServiceType = oitem.DataItem as tblServiceType;
            //oitem.OwnerTableView.DetailTables[0].DataSource = tblService.GetByTypeID(Convert.ToInt32(oitem.GetDataKeyValue("FldServiceTypeID")));
        }
 
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "StdServices")
        {
            //GridDataItem oitem = e.Item as GridDataItem;
            //tblService otblServices = oitem.DataItem as tblService;
 
            ////Bind all Template columns here
 
        }
 
    }
    protected void grdChild_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
 
        string innerGridName = e.Item.OwnerTableView.Name;
        GridDataItem otm = e.Item.OwnerTableView.ParentItem;
 
        switch (e.CommandName)
        {
            case "ExpandCollapse":
                int serviceTypeID = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[0]["FldServiceTypeID"]);
                //e.Item.OwnerTableView.Rebind();
                 //e.Item.OwnerTableView.DetailTables[0].DataSource = tblService.GetByTypeID(serviceTypeID);
                break;
            case "Edit":
                break;
        }
 
        if (innerGridName == "StdServiceType")
        {
 
        }
 
        if (innerGridName == "StdServices")
        {
 
        }
    }
 
    protected void grdLevel1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridNestedViewItem && e.Item.OwnerTableView.Name == "DetailDocuments")
        {
            e.Item.FindControl("InnerContainer").Visible = ((GridNestedViewItem)e.Item).ParentItem.Expanded;
        }
    }
 
    protected void grdLevel1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "Orders")
        {
 
        }
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "OrderDetail")
        {
            GridDataItem oItem = e.Item as GridDataItem;
            if (oItem != null)
            {
                Label lblSourceLanguage = oItem.FindControl("lblSourceLanguage") as Label;
                lblSourceLanguage.Text = tblLanguage.GetLanguage(((tblOrderDetail)oItem.DataItem).FldSourceLanguageID).FldLanguageName;
            }
        }
 
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "DetailDocuments")
        {
             
        }
 
        if ((e.Item is GridNestedViewItem) && e.Item.OwnerTableView.Name == "DetailDocuments")
        {
            GridDataItem otm = e.Item.OwnerTableView.ParentItem;
 
            int documentId = 0;
            if (e.Item.OwnerTableView.DataKeyValues.Count > 0)
                documentId = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[0]["FldOrderDetailDocumentID"]);
 
            int targetLanguageId = 0;
            if (otm != null)
                targetLanguageId = Convert.ToInt32(otm.GetDataKeyValue("FldTargetLanguageID"));
 
            RadGrid grdStd = e.Item.FindControl("grdStd") as RadGrid;
            //grdStd.ItemDataBound += new GridItemEventHandler(grdChild_ItemDataBound);
            //grdStd.DetailTableDataBind += new GridDetailTableDataBindEventHandler(grdLevel1_DetailTableDataBind);
            //grdStd.ItemCommand += new GridCommandEventHandler(grdChild_ItemCommand);
            grdStd.MasterTableView.DataSource = tblServiceType.GetServiceTypes(documentId, targetLanguageId);
 
            RadGrid grdNormalized = e.Item.FindControl("grdNormalized") as RadGrid;
            //grdNormalized.ItemDataBound += new GridItemEventHandler(grdChild_ItemDataBound);
            //grdNormalized.DetailTableDataBind += new GridDetailTableDataBindEventHandler(grdLevel1_DetailTableDataBind);
            //grdNormalized.ItemCommand += new GridCommandEventHandler(grdChild_ItemCommand);
            grdNormalized.MasterTableView.DataSource = tblServiceType.GetServiceTypes(documentId, targetLanguageId);
 
            RadGrid grdBlended = e.Item.FindControl("grdBlended") as RadGrid;
            //grdBlended.ItemDataBound += new GridItemEventHandler(grdChild_ItemDataBound);
            //grdBlended.DetailTableDataBind += new GridDetailTableDataBindEventHandler(grdLevel1_DetailTableDataBind);
            grdBlended.MasterTableView.DataSource = tblServiceType.GetServiceTypes(documentId, targetLanguageId);
 
            RadGrid grdLowest = e.Item.FindControl("grdLowest") as RadGrid;
            //grdLowest.ItemDataBound += new GridItemEventHandler(grdChild_ItemDataBound);
            //grdLowest.DetailTableDataBind += new GridDetailTableDataBindEventHandler(grdLevel1_DetailTableDataBind);
            grdLowest.MasterTableView.DataSource = tblServiceType.GetServiceTypes(documentId, targetLanguageId);
 
            e.Item.FindControl("InnerContainer").Visible = ((GridNestedViewItem)e.Item).ParentItem.Expanded;
             
        }
 
        if ((e.Item is GridDataItem) && e.Item.OwnerTableView.Name == "TargetLanguages")
        {
            GridDataItem oItem = e.Item as GridDataItem;
            Label lblTargetLang = oItem.FindControl("lblTargetLang") as Label;
            lblTargetLang.Text = ((tblOrderDetailLanguage)oItem.DataItem).tblLanguage.FldLanguageName;
        }
 
    }
    protected void grdLevel1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
 
        if (e.Item.OwnerTableView.Name == "OrderDetail")
        {
            int orderId = Convert.ToInt32(((GridDataItem)e.Item).GetDataKeyValue("FldOrderID"));
            e.Item.OwnerTableView.DataSource = tblOrderDetail.GetAllOrderDetails(orderId);
            e.Item.OwnerTableView.HierarchyDefaultExpanded = true;
        }
 
        if (e.Item.OwnerTableView.Name == "TargetLanguages")
        {
            int orderDetId = Convert.ToInt32(((GridDataItem)e.Item).GetDataKeyValue("FldOrderDetailID"));
            e.Item.OwnerTableView.DataSource = tblOrderDetailLanguage.GetTargetLanguages(orderDetId);
            e.Item.OwnerTableView.HierarchyDefaultExpanded = true;
 
            //int orderDetId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldOrderDetailID"));
            //e.DetailTableView.DataSource = tblOrderDetailLanguage.GetTargetLanguages(orderDetId);
        }
 
        if (e.Item.OwnerTableView.Name == "DetailDocuments")
        {
            int tarLangId = Convert.ToInt32(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("FldTargetLanguageID"));
            int documentId = Convert.ToInt32(((GridDataItem)e.Item).GetDataKeyValue("FldOrderDetailDocumentID"));
            int orderDetailId = Convert.ToInt32(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("FldOrderDetailID"));
            e.Item.OwnerTableView.DataSource = tblOrderDetailDocument.GetAllDetailDocuments(orderDetailId, tarLangId);
            e.Item.OwnerTableView.HierarchyDefaultExpanded = true;
            //e.Item.OwnerTableView.Rebind();
            //GridDataItem otm = e.Item.OwnerTableView.ParentItem;
 
             
 
        }
 
        if (e.Item.OwnerTableView.Name == "StdServiceType")
        {
 
        }
 
        if (e.Item.OwnerTableView.Name == "StdServices")
        {
        }
    }
 
    protected void grdLevel1_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
    {
        string detTableName = e.DetailTableView.Name;
        int serviceTypeId = 0;
        switch (detTableName)
        {
 
            case "Orders":
 
                break;
            case "OrderDetail":
                //GridDataItem oItem = e.DetailTableView.ParentItem;
                int orderId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldOrderID"));
                e.DetailTableView.DataSource = tblOrderDetail.GetAllOrderDetails(orderId);
                break;
            case "TargetLanguages":
                int orderDetId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldOrderDetailID"));
                e.DetailTableView.DataSource = tblOrderDetailLanguage.GetTargetLanguages(orderDetId);
                break;
 
            case "DetailDocuments":
                int orderDetailId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldOrderDetailID"));
                int tarLangId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldTargetLanguageID"));
                e.DetailTableView.DataSource = tblOrderDetailDocument.GetAllDetailDocuments(orderDetailId, tarLangId);
                break;
 
            case "StdServiceType":
                //serviceTypeId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldServiceTypeID"));
                //e.DetailTableView.DataSource = tblService.GetByTypeID(serviceTypeId);
                break;
            case "BlendedServices":
                serviceTypeId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldServiceTypeID"));
                e.DetailTableView.DataSource = tblService.GetByTypeID(serviceTypeId);
                break;
            case "NormalizedServices":
                serviceTypeId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldServiceTypeID"));
                e.DetailTableView.DataSource = tblService.GetByTypeID(serviceTypeId);
                break;
            case "StdServices":
                serviceTypeId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldServiceTypeID"));
                e.DetailTableView.DataSource = tblService.GetByTypeID(serviceTypeId);
                break;
            case "LowestServices":
                serviceTypeId = Convert.ToInt32(e.DetailTableView.ParentItem.GetDataKeyValue("FldServiceTypeID"));
                e.DetailTableView.DataSource = tblService.GetByTypeID(serviceTypeId);
                break;
 
 
        }
 
    }
 
    protected void grdChild_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        if (e.IsFromDetailTable)
        {
            RadGrid oMasterGrid = sender as RadGrid;
            if (oMasterGrid != null)
            {
                int servTypeId = Convert.ToInt32(oMasterGrid.MasterTableView.DataKeyValues[0]["FldServiceTypeID"]);
                oMasterGrid.MasterTableView.DataSource = tblService.GetByTypeID(servTypeId);
                //oMasterGrid.MasterTableView.DetailTables[0].DataSource = tblService.GetByTypeID(servTypeId);
            }
        }
    }
 
    protected void grdLevel1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        if (e.IsFromDetailTable)
        {
            RadGrid oMasterGrid = sender as RadGrid;
            if (oMasterGrid != null)
            {
                switch (oMasterGrid.MasterTableView.Name)
                {
                    case "Orders":
                        break;
                    case "OrderDetail":
                        //int orderId = 0;
                        //oMasterGrid.MasterTableView.DataSource = tblOrderDetail.GetAllOrderDetails(orderId);
                        break;
 
                    case "TargetLanguages":
                        break;
 
                    case "DetailDocuments":
                        break;
 
                }
            }
        }
        else
            BindGridData();
    }
 
}

Please try collapsing and expanding "Target Language" level. All tabs grid will lose its data.
Any help will be greatly appreciated.

Thanks

Tejas
Top achievements
Rank 1
 answered on 25 Jan 2012
3 answers
162 views
Hi,
I have One Treeview controle and one radwindow manger.
Treeview is binding on pageload dynamically. when i am clicking on first node of treeview it should show window. If am selecting another node it should display another window in window manager object. So finally if i select 5 nodes 5 windows should display but it's displaying only one winodw. Please provide the solution for this.

 

protected void rdTreeNodes_NodeClick(object sender, RadTreeNodeEventArgs e)

 

{

 

string strNodeName= e.Node.Text;

 

 

RadWindow strNode = new RadWindow();

 

strNode.ID = strNodeName;

strNode.RestrictionZoneID = divZone.ID;

strNode.Top =

Unit.Pixel(30);

 

strNode.NavigateUrl =

"http://mysite/mypage.aspx";

 

strNode.VisibleOnPageLoad =

true;

 

RadWindowManager1.Windows.Add(strNode);

 

 

}


Thanks in advance..
by
Tanuja Ramesh

Marin Bratanov
Telerik team
 answered on 25 Jan 2012
1 answer
320 views
So I'm trying to get the editor to show the HTML character count - much like the word and character count that is currently viewable by default on the editor. I've tried the directions from forum: http://www.telerik.com/community/forums/aspnet/editor/radeditor-statistics-word-count.aspx and it doesn't seem to give me the desired results.

Currently in my tools file I'm using the code below to show the character and word count, but what about HTML character count. I'm thinking this should be available to the users.

<modules >
    <module name="RadEditorStatistics" Enabled="true" Visible="true" />
 </modules>

The editor works well by default with limiting characters, I'm using properties MaxTextLength="4000" and MaxHtmlLength="5000" currently and I do get the alert when the content goes over either limits.

Thanks.
Richard
Top achievements
Rank 1
 answered on 25 Jan 2012
1 answer
103 views
I have a web page that contains three (3) rotators.  I am manually syncing the movement of the rotators 1 and 2, and have rotator 3 on a different schedule.

I also have 4 small graphical images below the main photo area where the user can select the desired photo by clicking on the desired "dot" and then the scrolling will continue again after that "manual set".

All of this is working well when rotators 1 and 2 are driven from the same XMLDataSource.  However, when rotators 1 and 2 are driven from a SqlDataSource, then the "manual set" is not working correctly.  In this instance (when using a SqlDataSource), let's say that rotators 1/2 are on the third position (index = 2) and the user clicks on the first "dot" to select index 0.  Rotator 2 will immediately show the correct text, but Rotator 1 will show empty white space UNTIL the next time for the rotators to auto rotate. Once the auto rotate begins again, everything works fine until the user clicks on a different "dot".  Then the main rotator 1 shows white space again until the next auto.

Again, this ONLY happens when a SqlDataSource is used.  When an XMLDataSource is used, the "manual set" works perfectly (as does the rest of the process).

I have attached two screen captures -- #1 is normal, #2 shows the white space.

I have also included the entire .aspx source code below.  Please note that the code below includes the XMLDataSource for rotator #1 and the SqlDataSource for rotator #2.  This combination also works exactly correct.

Thanks in advance for any help you can give me.

Lynn
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="THDiRotator.ascx.cs" Inherits="THDiRotator" %>
    <link href="THDiRotatorStyles.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
        function OnClientItemShowing(sender, eventArgs) {
            var maxslides = 3;
            var testslides = maxslides - 1;
            var idx = eventArgs.get_item().get_index();
            if (idx > testslides) {
                idx = 0;
            }
            else {
                idx = idx + 1;
            }
            var oRotator = $find("<%= rotator2.ClientID %>");
            if (oRotator) oRotator.set_currentItemIndex(idx);
            selectImg(idx);
        }
 
        function selectPhoto(idx) {
            var aRotator = $find("<%= rotator1.ClientID %>");
            aRotator.set_currentItemIndex(idx);
 
            //var bRotator = $find("<%= rotator2.ClientID %>");
            //bRotator.set_currentItemIndex(idx);
 
            selectImg(idx);
        }
 
        function selectImg(idx) {
            var img0 = document.getElementById('<%=Image0.ClientID%>');
            var img1 = document.getElementById('<%=Image1.ClientID%>');
            var img2 = document.getElementById('<%=Image2.ClientID%>');
            var img3 = document.getElementById('<%=Image3.ClientID%>');
            if (idx == 0) {
                img0.src = 'selected.png';
            }
            else {
                img0.src = 'unselected.png';
            }
            if (idx == 1) {
                img1.src = 'selected.png';
            }
            else {
                img1.src = 'unselected.png';
            }
            if (idx == 2) {
                img2.src = 'selected.png';
            }
            else {
                img2.src = 'unselected.png';
            }
            if (idx == 3) {
                img3.src = 'selected.png';
            }
            else {
                img3.src = 'unselected.png';
            }
        }
    </script>
    <style type="text/css">
    .seld
    {
     background-image: selected.png;  
    }
    .unseld
    {
     background-image: unselected.png;  
    }
    </style>
<div>
<!--==============================    start of photo slide show    =================================-->
<div style="position: absolute; margin-left: 20px; margin-top: 20px; height: 398px; width: 955px; border: 1px solid #c0c0c0; background-color: #ffffff; box-shadow: rgb(100,100,100) 5px 5px 5px;" >
    <!--==============================    large photos    =================================-->
    <telerik:RadRotator runat="server" DataSourceID="xmlDataSource1" ID="rotator1" style="z-index: 3; position: relative; left: 15px; top: 15px; "
        ScrollDirection="Left" SlideShowAnimation-Type="CrossFade" SlideShowAnimation-Duration="2000" RotatorType="SlideShow" OnClientItemShowing="OnClientItemShowing"
        FrameDuration="6000" Width="955px" ItemWidth="955px" Height="398px" ItemHeight="398px">
        <ItemTemplate>
            <div class="itemTemplate">
                <img src="<%# XPath("Image") %>" alt="<%# XPath("Title") %>" style="border: 0px;" />
            </div>
        </ItemTemplate>
    </telerik:RadRotator>
    <!--==============================    small text rotator in lower left portion    =================================-->
    <div class="xscrollContainer" style="z-index: 5; ">
        <telerik:RadRotator runat="server" DataSourceID="SqlDataSource3" ID="rotator2" ScrollDirection="Left"
            SlideShowAnimation-Type="Fade" RotatorType="FromCode"
            FrameDuration="0" Width="650px" ItemWidth="650px" Height="30px" ItemHeight="30px">
            <ItemTemplate>
                <div class="itemTemplate">
                    <%# Eval("SelectedField")%>
                </div>
            </ItemTemplate>
        </telerik:RadRotator>
    </div>
    <!--==============================    large text rotator in right center    =================================-->                
    <div class="xtestimonialText">
        <telerik:RadRotator ID="rotator3" runat="server" DataSourceID="SqlDataSource4" SlideShowAnimation-Type="Fade"
            ScrollDuration="10000" FrameDuration="10000" RotatorType="SlideShow" ScrollDirection="Left" Height="200px"
            EnableEmbeddedSkins="false" Width="210px" >
            <ItemTemplate>
                <div style="width: 210px; height: 200px; vertical-align: middle; ">
                    <%# Eval("SelectedField")%>
                </div>
            </ItemTemplate>
        </telerik:RadRotator>
    </div>
    <br />
    <div style="width: 955px; text-align: center;">
        <asp:HyperLink ID="HyperLink1" runat="server" onclick="selectPhoto(0);return false;" ><asp:Image ID="Image0" ImageUrl="selected.png" runat="server" /></asp:HyperLink>
        <asp:HyperLink ID="HyperLink2" runat="server" onclick="selectPhoto(1);return false;" ><asp:Image ID="Image1" ImageUrl="unselected.png" runat="server" /></asp:HyperLink>
        <asp:HyperLink ID="HyperLink3" runat="server" onclick="selectPhoto(2);return false;" ><asp:Image ID="Image2" ImageUrl="unselected.png" runat="server" /></asp:HyperLink>
        <asp:HyperLink ID="HyperLink4" runat="server" onclick="selectPhoto(3);return false;" ><asp:Image ID="Image3" ImageUrl="unselected.png" runat="server" /></asp:HyperLink>
    </div>
</div>
 
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"></asp:SqlDataSource>
 
<asp:XmlDataSource ID="xmlDataSource1" runat="server" DataFile="photos.xml"></asp:XmlDataSource>
 
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
        ConnectionString="<%$ ConnectionStrings:HomesOnlineNetwork100ConnectionString %>"
        SelectCommand="Scroller_SmallText" SelectCommandType="StoredProcedure" OnSelecting="SqlDataSource3_Selecting">
    <SelectParameters>
        <asp:Parameter DefaultValue="TextSortLang001" Name="FieldName" Type="String" />
        <asp:Parameter DefaultValue="Scroller" Name="Type" Type="String" />
        <asp:Parameter DefaultValue="HPPhotos" Name="ClassName" Type="String" />
    </SelectParameters>
    </asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
        ConnectionString="<%$ ConnectionStrings:HomesOnlineNetwork100ConnectionString %>"
        SelectCommand="Scroller_SmallText" SelectCommandType="StoredProcedure" OnSelecting="SqlDataSource4_Selecting">
    <SelectParameters>
        <asp:Parameter DefaultValue="TextSortLang001" Name="FieldName" Type="String" />
        <asp:Parameter DefaultValue="Scroller" Name="Type" Type="String" />
        <asp:Parameter DefaultValue="HPLargeTextScroller" Name="ClassName" Type="String" />
    </SelectParameters>
    </asp:SqlDataSource>
 
<!--==============================    end of photo slide show    =================================-->
</div>

Slav
Telerik team
 answered on 25 Jan 2012
2 answers
144 views
I'd like my grid to be as wide as the columns that it is displaying but no matter what I do it seems to always take up the entire width of the screen. 
I have not specified a grid width (so there is no "width = 100%" anywhere).
I have specified column widths in my <headerstyle width="40px"/> tags for all my columns.
The sum of the widths of the 6-8 columns I have is nowhere near as wide as the screen but every time I load the page, the grid expands to fill it.
I have tried changing the table layout to "fixed" with no change in this behavior.
The only other oddity that I have is that there are several extra columns that I have defined but are set to visible = false.
I don't want to set a hard pixel width for the grid if I don't have to; I would like it to simply be as wide as the sum of it's fixed column widths.
Any idea what I'm not seeing/doing here?

Mike
Ed
Top achievements
Rank 1
 answered on 25 Jan 2012
8 answers
255 views

We are trying to specify a custom css file for the content area of the RadEditor by setting the radEditor.ContentAreaCssFile property.

 

This causes it to load the appropriate css file into the editor as expected.

 

However, it also loads the css files from the parent pages and it loads them after the ContentAreaCssFile stylesheet file, which means that the ContentAreaCssFile's styles get overridden by the parent page's styles.

 

The resulting Head area looks like this:

 

<head>

 

<link href="/common/css/editor.css" rel="stylesheet" />                     <------------------- ContentAreaCssFile

<link href="/admin/common/css/admin.css" rel="stylesheet" />                <------------------- stylesheet from parent page

<link href="/admin/common/css/contentmanagement.css" rel="stylesheet" />    <------------------- stylesheet from parent page

 

</head>

 

According to the documentation for the RadEditor found here:

 

http://www.telerik.com/help/aspnet-ajax/editor-content-area-appearance-problems.html

 

... we should be able to fix this by setting the CssFiles property to load only the stylesheets we want.

 

However, the editor appears to be ignoring this setting. We've tried setting it in markup and programmatically. Neither worked. It still loads the stylesheets for the parent pages.

 

We're using version 2009.2.701.20 of the Telerik.Web.UI.dll

Di
Top achievements
Rank 2
 answered on 25 Jan 2012
3 answers
112 views
Hi All,

   So I have a grid that I define programmatically and then add to the page via a PlaceHolder control. I set up the data for the view in "DefineGridStructure" stolen liberally from the Telerik example so I have the base structure for the MasterTableView and the detail TableViews which works well. Where I run into trouble is that during the DetailTableDataBind. Depending on the parent row I may add some row specific columns to the detail table that may only exist for that parent row. Basically the grid has groups of people with the Top level having a group comparison so all the columns are the same, The 2nd level has the people which are all part of the group from the parent row, but now may have some columns that are specific to that group. So what I end up with is something like this:

·         Group Name 1       | Column A | Column B | Column C

    • Person 1 | Column A | Column B | Column C | Column D
    • Person 2          | Column A | Column B | Column C | Column D

·         Group Name 2        | Column A | Column B | Column C 

    • Person 3          | Column A | Column B | Column C | Column E | Column D
    • Person 4          | Column A | Column B | Column C | Column E | Column D

 Right now it works great on the initial load but during any postback/callback it removes all the custom columns, which makes sense since I don't define them in the "DefineGrideStructure". With all that said is there a way to override the columns of a detail table for a specific parent row in say like the prerender or a similar event? And is there an example online for this?

Thanks in advance for any pointers

Sean

Sean
Top achievements
Rank 2
 answered on 25 Jan 2012
1 answer
131 views
Hi all,
I'm using raddocks in my application.
Everythinng working fine.
I'm loading the custom controls which contain radgrid in raddock.
My problem is suppose if I have 10 records in radgrid I need to set the height of the docks to exactly for fitting 10 records.
I'm able to do it for the first time of creating dock.
Grid will get refresh for every 15 secs for example.
After refresh dock will be created from state,at the point of time also I'm also I'm trying to set the dock height ,but its not taking.
How to get rid of this problem, Please help me asap. Its urgent.
Here is my code.
private RadDock CreateRadDock(int i)
    {
        RadDock dock = new RadDock();
        dock.DockMode = DockMode.Docked;
        dock.EnableAnimation = true;
        dock.EnableRoundedCorners = true;
        dock.EnableEmbeddedSkins = true;
        dock.TitlebarContainer.BorderColor = System.Drawing.ColorTranslator.FromHtml("#548264");
        dock.TitlebarContainer.HorizontalAlign = HorizontalAlign.Left;
        dock.Resizable = true;
        dock.UniqueName = Guid.NewGuid().ToString();
        dock.ID = string.Format("RadDock{0}", dock.UniqueName);
  
        switch (i)
        {
            case 1:
                dock.ID = "1";
                dock.Tag = "1";
                break;
            case 2:
                dock.ID = "2";
                dock.Tag = "2";
                break;
            case 3:
                dock.ID = "3";
                dock.Tag = "3";
                break;
            case 4:
                dock.ID = "4";
                dock.Tag = "4";
                break;
            case 5:
                dock.ID = "5";
                dock.Tag = "5";
                break;
            case 6:
                dock.ID = "6";
                dock.Tag = "6";
                break;
        }
  
        dock.Width = Unit.Pixel(460);
          
        //assign client-side event handler
        dock.OnClientInitialize = "Dock_OnClientInitialize";
        DockCloseCommand closeCommand = new DockCloseCommand();
        closeCommand.AutoPostBack = true;
        DockExpandCollapseCommand expandCommand = new DockExpandCollapseCommand();
        dock.OnClientCommand = "ClientCommand";
        DockToggleCommand maximizeCommand = new DockToggleCommand();
        maximizeCommand.Name = "Maximize";
        maximizeCommand.Text = "Maximize";
        maximizeCommand.OnClientCommand = "Dock_OnMaximizeCommand";
        maximizeCommand.AlternateText = "Restore";
        maximizeCommand.CssClass = "max";
        maximizeCommand.AlternateCssClass = "min";
        dock.OnClientResizeEnd = "OnresizeEnd";
        dock.ContentContainer.Style.Add(HtmlTextWriterStyle.OverflowX, "hidden");        
        dock.Skin = "Outlook";
        setDockName();
        switch (dock.ID)
        {
            case "1":
                Control widget = LoadControl("~/DashBoard/Controls/AlarmSummaryCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock1_Command);
                dock.ContentContainer.Controls.Add(widget);
                dock.Title = "Alarm Summary";
                dock.Height = Unit.Pixel(getAlrmDockHeight());
                break;
            case "2":
                widget = LoadControl("~/DashBoard/Controls/ActiveCallsCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock2_Command);
                dock.Title = "Active Calls";
                dock.ContentContainer.Controls.Add(widget);
                dock.Height = Unit.Pixel(165);
                break;
            case "3":
                widget = LoadControl("~/DashBoard/Controls/PendingCallsCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock3_Command);
                dock.Title = "Pending Calls";
                dock.ContentContainer.Controls.Add(widget);
                dock.Height = Unit.Pixel(165);
                break;
            case "4":
                widget = LoadControl("~/DashBoard/Controls/CallActivityForConsoleCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock4_Command);
                dock.Title = consleDocTitle;
                dock.ContentContainer.Controls.Add(widget);
                dock.Height = Unit.Pixel(165);
                break;
            case "5":
                widget = LoadControl("~/DashBoard/Controls/CallActivityForDispatchrCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock5_Command);
                dock.Title = disptrDocTitle;
                dock.ContentContainer.Controls.Add(widget);
                dock.Height = Unit.Pixel(165);
                break;
            case "6":
                widget = LoadControl("~/DashBoard/Controls/CallActivityForEndPntCtrl.ascx");
                dock.Command += new DockCommandEventHandler(this.Dock6_Command);
                dock.Title = endPntDocTitle;
                dock.ContentContainer.Controls.Add(widget);
                dock.Height = Unit.Pixel(165);
                break;
        }
  
        dock.OnClientDockPositionChanged = "dockPositionChanged";
        dock.Commands.Add(closeCommand);
        dock.Commands.Add(maximizeCommand);
        dock.Commands.Add(expandCommand);
        return dock;
    }
Creating dock from state:
private RadDock CreateRadDockFromState(DockState state)
   {
       RadDock dock = new RadDock();
       dock.EnableAnimation = true;
       dock.DockMode = DockMode.Docked;
       dock.EnableRoundedCorners = true;
       dock.EnableEmbeddedSkins = true;
       dock.TitlebarContainer.BorderColor = System.Drawing.ColorTranslator.FromHtml("#548264");
       dock.UniqueName = state.UniqueName;
       dock.ID = string.Format("RadDock{0}", state.UniqueName);        
       dock.ApplyState(state);
       dock.Resizable = true;
       dock.Skin = "Outlook";
       DockCloseCommand closeCommand = new DockCloseCommand();
       closeCommand.AutoPostBack = true;
       DockExpandCollapseCommand expandCommand = new DockExpandCollapseCommand();
       expandCommand.AutoPostBack = false;
       DockToggleCommand maximizeCommand = new DockToggleCommand();
       maximizeCommand.Name = "Maximize";
       maximizeCommand.Text = "Maximize";
       maximizeCommand.OnClientCommand = "Dock_OnMaximizeCommand";
       maximizeCommand.AlternateText = "Restore";
       maximizeCommand.CssClass = "max";
       maximizeCommand.AlternateCssClass = "min";
       //assign client-side event handler
       dock.OnClientInitialize = "Dock_OnClientInitialize";
       dock.OnClientCommand = "ClientCommand";
       dock.ContentContainer.Style.Add(HtmlTextWriterStyle.OverflowX, "hidden");
       dock.TitlebarContainer.HorizontalAlign = HorizontalAlign.Left;
       dock.OnClientResizeEnd="OnresizeEnd";        
       setDockName();
       dock.ApplyState(state);
       switch (state.Tag)
       {
           case "1":
               Control widget = LoadControl("Controls/AlarmSummaryCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock1_Command);
               dock.ID = "1";
               dock.Title = "Alarm Summary";
               dock.ContentContainer.Controls.Add(widget);
               dock.Height = Unit.Pixel(getAlrmDockHeight());
               state.Height = Unit.Pixel(getAlrmDockHeight()); 
               break;
           case "2":
               widget = LoadControl("Controls/ActiveCallsCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock2_Command);
               dock.ID = "2";
               dock.Title = "Active Calls";
               dock.ContentContainer.Controls.Add(widget);
               break;
           case "3":
               widget = LoadControl("Controls/PendingCallsCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock3_Command);
               dock.ID = "3";
               dock.Title = "Pending Calls";              
               dock.ContentContainer.Controls.Add(widget);                                
               break;
           case "4":
               widget = LoadControl("Controls/CallActivityForConsoleCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock4_Command);
               dock.ID = "4";
               dock.Title = consleDocTitle;                
               dock.ContentContainer.Controls.Add(widget);
               break;
           case "5":
               widget = LoadControl("Controls/CallActivityForDispatchrCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock5_Command);
               dock.ID = "5";
               dock.Title = disptrDocTitle;
               dock.ContentContainer.Controls.Add(widget);
               break;
           case "6":
               widget = LoadControl("Controls/CallActivityForEndPntCtrl.ascx");
               dock.Command += new DockCommandEventHandler(this.Dock6_Command);
               dock.ID = "6";
               dock.Title = endPntDocTitle;
               dock.ContentContainer.Controls.Add(widget);
               break;
       }        
       dock.OnClientDockPositionChanged = "dockPositionChanged";
       dock.Commands.Add(closeCommand);
       dock.Commands.Add(maximizeCommand);
       dock.Commands.Add(expandCommand);        
       return dock;
   }
getAlrmDockHeight()  return height.
Pls help me asap.

Slav
Telerik team
 answered on 25 Jan 2012
3 answers
145 views
Greetings,

I need to get the selected date of a RadDateTimePicker within a JS function.

I already tried to get a reply by searching on this board.
What i have so far is this :

var picker = $find("<%= StartDate.ClientID %>");

Then i need to pass this variable by url like this ( first one works perfectly )
Problem : it just displays : [OBJECT][OBJECT] instead of the selectedDate when i get to this aspx page.

window.open("FrequencyByUser.aspx?id=" + this.id + "&Start=" + picker, "fenetre_popup", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,scrollbars=no,width=800,height=350"); ;

Thanks a lot for your help
Adigard
Top achievements
Rank 1
 answered on 25 Jan 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?