Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
55 views
Hello everyone,

I have a problem with the RadScheduler.

When I try to update an item, if a text field (title, location, description, ...) contains the character "<", it makes nothing.

The loading that often lasts more than 1 second lasts 0.1 sec, and nothing happens...

Is this bug known ?

Is there a fix ? A solution ?

Thanks a lot
Peter
Telerik team
 answered on 29 Apr 2010
7 answers
371 views
I am trying to determine the correct signature for web methods called by the XmlHttpPanel (version 2009.2.701.35).

If I use the signature: 
string MyWebMethod(object sender, object args) , 

both sender and args come in as null. If I look at the source for the page, I can see the following javascript:

WebForm_InitCallback();Sys.Application.add_init(function() {
$create(Telerik.Web.UI.RadXmlHttpPanel, {"_uniqueId":"ctl00$ContentBody$RadXmlHttpPanel1","clientStateFieldID":"ctl00_ContentBody_RadXmlHttpPanel1_ClientState","loadingPanelID":"","value":"922e2baf-696a-de11-baa9-005056c00008","webMethodName":"MyWebMeathod","webMethodPath":"/MyTestApp/Services/SampleService.svc"}, {"responseEnd":OnRadXmlHttpClientResponseEnd}, null, $get("ctl00_ContentBody_RadXmlHttpPanel1"));
});

I have also tried having the signature:
void MyWebMethod(object sender, RadXmlHttpPanelEventArgs e)
but I just get a message along the lines of 'The web method 'MyWebMethod' failed'

I am expecting to get that value passed to me in the args (it's the Value for my XmlHttpPanel), either with or without a sender.
Svetlina Anati
Telerik team
 answered on 29 Apr 2010
1 answer
193 views
Hi,
    I want to use radconfirm before button click event.
Please refer the following code.

<

 

asp:LinkButton ID="btnSubmit" runat="server"  OnClientClick="ConfirmSubmit()" OnClick="btnSubmit_Click">Submit</asp:LinkButton>

 

 

 

 

function ConfirmSubmit() {

 

 

var callBackFn = function(arg) {

 

 

return arg;

 

}

radconfirm(

"Are you sure you want to submit this action?", callBackFn, 350, 120, this, 'Submit Confirmation');

 

}

 

 

 


Here btnSubmit_Click event is raised before i click on OK or Cancel in radconfirm.
Please let me know how to correct this behaviour?

 

Princy
Top achievements
Rank 2
 answered on 29 Apr 2010
1 answer
180 views
Hi,
I couldn't find anyway to set animation for RadSplitBar's Collapse/Expand.
Can we actually set animation when the pane expand/collapse?
Svetlina Anati
Telerik team
 answered on 29 Apr 2010
4 answers
210 views
Hello,

I did an upgrade of the RadControls Telerik ASP.NET and I have a problem with the RadMenu.

when I do click in the menu's item, I get this error (Before it worked very good).

  
Sys.WebForms.PageRequestManagerServerErrorException: Specified cast is not valid. 
[Break on this error] Type.registerNamespace("Sys.WebForms")...UI._UpdateProgress",Sys.UI.Control);   


Error: image1.jpg

Thanks.
Daniel Botero Correa
Daniel Botero Correa
Top achievements
Rank 1
 answered on 29 Apr 2010
0 answers
162 views

I am planning to construct Radscheduler in the "Class Detail Schedule" section. As you might can see from the code, other control is referencing user control. Is there anyway to build RadScheduler in the page without using user control. how it can be implemented and how to assign the datasource. thanks

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using DEET.StudentLearningProfile.CSharp.ClassLibrary;
using DEET.StudentLearningProfile.ViewPresenter.ClassManagement.Views;
using Microsoft.Practices.ObjectBuilder;
using NetTiers.Entities;
using Telerik.Web.UI;
using System.Globalization;
using System.Threading;

public partial class ClassManagement_Classes : Microsoft.Practices.CompositeWeb.Web.UI.Page,
                                             

DEET.StudentLearningProfile.ViewPresenter.ClassManagement.Views.IClasses
{
    #region Private members

    private ClassesPresenter presenter;

    #endregion

    [CreateNew]
    public ClassesPresenter Presenter
    {
        set
        {
           
            this.presenter = value;
            this.presenter.View = this;
        }
    }

    protected override void OnPreRender(EventArgs e)
    {
        //BuildSchedule();
        base.OnPreRender(e);
       
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.presenter.OnViewInitialized();
        }
        this.presenter.OnViewLoaded();
        BuildClass();
       
       
    }

    public List<ClassSchedulePeriod> ClassScheduleCollection
    {
        set
        {
            //RadScheduler1.DataSource = value;
        }
    }
    // Build class view regardless whether or not a schedule attached 
    public void BuildClass()
    {
        // Get all the class views associated with a given student ID
        // In here, class IDs will not be duplicated, it is one student ID to many class IDs relationship
        VList<NetTiers.Entities.VwStudentsByClass> data = presenter.GetAllClassesByStudentId();
        NetTiers.Services.SafeNameClassService classService = new NetTiers.Services.SafeNameClassService();

        // Get class IDs
        IList<long> classes = new List<long>();
        foreach (NetTiers.Entities.VwStudentsByClass aClass in data)
        {
            if (!classes.Contains(aClass.ClassId))
            {
                classes.Add(aClass.ClassId);
            }
        }

        Telerik.Web.UI.RadPanelBar panelBar = new Telerik.Web.UI.RadPanelBar();
        panelBar.Skin = "WebBlue";
        panelBar.ID = "panelBar";
        panelBar.Width = Unit.Percentage(97);

        foreach (long classId in classes)
        {
            // Going through one class at each loop

            // It is not necessary to retrieve the rows to tempData based on ClassId
            // Also it is not ncessary to calculate how many student groups a class has
            // However, here, it follows the coding style it already has
            /////////////////////////////////////////////////////////////////////////////////////////////
            VList<NetTiers.Entities.VwStudentsByClass> tempData = data.FindAll("ClassId", classId, true);
            IList<long> groups = new List<long>();

            // Find out how many student groups a class has
            foreach (NetTiers.Entities.VwStudentsByClass aClass in tempData)
            {
                if (!groups.Contains(aClass.StudentGroupId))
                {
                    groups.Add(aClass.StudentGroupId);               
                }
            }

            //
            if (groups.Count > 1)
            tempData = tempData.FindAll("StudentGroupId", groups[0], true);
          

            ////////////////////////////////////////////////////////////////////////////////////////////

 

            SafeNameClass currentClass = classService.GetByClassId(classId);
            classService.DeepLoad(currentClass);

            //modify the class name to set Uppercase letter
            CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
            TextInfo txtInfo = cultureInfo.TextInfo;

            RadPanelItem panelItem = new RadPanelItem(txtInfo.ToUpper(tempData[0].ClassName));
            panelItem.Attributes.CssStyle.Add(HtmlTextWriterStyle.FontWeight, "bold");
            panelItem.Attributes.CssStyle.Add(HtmlTextWriterStyle.FontSize, "12px"); 
           

            // Expand the panel item
            panelItem.Expanded = false;
            panelItem.Value = "panelItem";
           

            System.Drawing.Color background = System.Drawing.Color.FromArgb(150, 120, 230);
           
            RadPanelItem classDetailsPanelItem = new RadPanelItem("Class Details");
            RadPanelItem classAssignmentPanelItem = new RadPanelItem("Class Assignment / Homework");
            RadPanelItem classNoticePanelItem = new RadPanelItem("Class Notices");
            RadPanelItem classSchedulePanelItem = new RadPanelItem("Class Schedule");
            RadPanelItem classDetailSchedulerPanelItem = new RadPanelItem("Class Detail Schedule");

            classDetailSchedulerPanelItem.BackColor = background;
            classDetailsPanelItem.BackColor = background;
            classNoticePanelItem.BackColor = background;
            classAssignmentPanelItem.BackColor = background;
            classSchedulePanelItem.BackColor = background;
            classDetailsPanelItem.Attributes.CssStyle.Add(HtmlTextWriterStyle.FontWeight, "bold");
            classSchedulePanelItem.Value = "template";

            ClassScheduleTemplate classScheduleTemp = new ClassScheduleTemplate();
           

classScheduleTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassSchedule.ascx"));

            ClassAssignmentTemplate classAssignmentTemp = new ClassAssignmentTemplate();
           

classAssignmentTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassAssignment.ascx"));

            ClassNoticeTemplate classNoticeTemp = new ClassNoticeTemplate();
           

classNoticeTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassNotices.ascx"));
           
            //ClassDetailsTemplate classDetailsTemp = new ClassDetailsTemplate();
           

//classDetailsTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassDetails.ascx"));
            //classDetailsTemp.ClassDetails(currentClass);

            classScheduleTemp.SetScheduleDataSource(presenter.GetClassScheduleByClassId(classId));
            classNoticeTemp.SetNoticesDataSource(presenter.GetClassNoticeByClassId(classId));
            classAssignmentTemp.SetAssignmentDataSource(presenter.GetAssignmentByClassId(classId));
            //this.presenter.GetTimetableDataSource((long)SessionObject.ManagedUserId);

            classAssignmentPanelItem.ItemTemplate = classAssignmentTemp;
            classSchedulePanelItem.ItemTemplate = classScheduleTemp;
            classNoticePanelItem.ItemTemplate = classNoticeTemp;
            //classDetailsPanelItem.ItemTemplate = classDetailsTemp;
            //classDetailSchedulerPanelItem.ItemTemplate = classScedulerViewTemp;

            //panelItem.Items.Add(classDetailsPanelItem);

            panelItem.Items.Add(classSchedulePanelItem);
            panelItem.Items.Add(classNoticePanelItem);
            panelItem.Items.Add(classAssignmentPanelItem);
            panelItem.Items.Add(classDetailSchedulerPanelItem);
            panelBar.Items.Add(panelItem);
        }

        ClassPlaceHolder.Controls.Add(panelBar);

    }

    // Build class view which has at least one schedule attached to it
    public void BuildSchedule()
    {
        // Not every class that a student belongs to has attached schedules.
        // Get all the ClassSchedule views associated with a given student ID
        // One class may have more than one schedule attached to it, so in this case, it considered as two different

views
        VList<NetTiers.Entities.VwStudentClassSchedule> data = presenter.GetClassByStudentId();
        NetTiers.Services.SafeNameClassService classService = new NetTiers.Services.SafeNameClassService();
       
        // Get class IDs, but only those classes have attached schedules
        // One class may have more than one attached schedule, this process will get rid of duplicates class IDs
        IList<long> classes = new List<long>();
        foreach(NetTiers.Entities.VwStudentClassSchedule schedule in data){
            if (!classes.Contains(schedule.ClassId))
            {
                classes.Add(schedule.ClassId);
            }
        }

        Telerik.Web.UI.RadPanelBar panelBar = new Telerik.Web.UI.RadPanelBar();
        panelBar.Skin = "WebBlue";
        panelBar.ID = "panelBar";
        panelBar.Width = Unit.Percentage(97);

        foreach (long classId in classes)
        {
            // Going through one class at each loop
            // In all the ClassSchedule views, extracting out the views associated with only the given class ID in

each loop
            //
            VList<NetTiers.Entities.VwStudentClassSchedule> tempData = data.FindAll("ClassId",classId,true);
            IList<long> groups = new List<long>();

            // Find out how many student groups a class has
            foreach (NetTiers.Entities.VwStudentClassSchedule schedule in tempData)
            {
                if (!groups.Contains(schedule.StudentGroupId))
                {
                    groups.Add(schedule.StudentGroupId);

                }
            }

            // Only get the first student group comes up
            if (groups.Count > 1)
            tempData = tempData.FindAll("StudentGroupId", groups[0], true);
          
            SafeNameClass currentClass = classService.GetByClassId(classId);
            classService.DeepLoad(currentClass);

            RadPanelItem panelItem = new RadPanelItem(tempData[0].ClassName);
           
            panelItem.Expanded = false;
            panelItem.Value = "panelItem";

            //System.Drawing.Color background = System.Drawing.Color.FromArgb(176, 196, 222);
            System.Drawing.Color background = System.Drawing.Color.FromArgb(150, 120, 230);
           
            RadPanelItem classDetailsPanelItem = new RadPanelItem("Class Details");
            RadPanelItem classAssignmentPanelItem = new RadPanelItem("Class Assignment / Homework");
            RadPanelItem classNoticePanelItem = new RadPanelItem("Class Notices");
            RadPanelItem classSchedulePanelItem = new RadPanelItem("Class Schedule");
            RadPanelItem classDetailSchedulerPanelItem = new RadPanelItem("Class Detail Schedule");

            classDetailSchedulerPanelItem.BackColor = background;
            classDetailsPanelItem.BackColor = background;
            classNoticePanelItem.BackColor = background;
            classAssignmentPanelItem.BackColor = background;
            classSchedulePanelItem.BackColor = background;
            classDetailsPanelItem.Attributes.CssStyle.Add(HtmlTextWriterStyle.FontWeight, "bold");
            classSchedulePanelItem.Value = "template";
           
            ClassScheduleTemplate classScheduleTemp = new ClassScheduleTemplate();
           

classScheduleTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassSchedule.ascx"));

            ClassAssignmentTemplate classAssignmentTemp = new ClassAssignmentTemplate();
           

classAssignmentTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassAssignment.ascx"));

            ClassNoticeTemplate classNoticeTemp = new ClassNoticeTemplate();
           

classNoticeTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassNotices.ascx"));

            //ClassDetailsTemplate classDetailsTemp = new ClassDetailsTemplate();
           

//classDetailsTemp.LoadUserControl(this.LoadControl("~/ClassManagement/Controls/StudentViewClassDetails.ascx"));
            //classDetailsTemp.ClassDetails(currentClass);

            //BuildClassScheduler();
           
            classScheduleTemp.SetScheduleDataSource(presenter.GetClassScheduleByClassId(classId));
            classNoticeTemp.SetNoticesDataSource(presenter.GetClassNoticeByClassId(classId));
            classAssignmentTemp.SetAssignmentDataSource(presenter.GetAssignmentByClassId(classId));
            //this.presenter.GetTimetableDataSource((long)SessionObject.ManagedUserId);

            classAssignmentPanelItem.ItemTemplate = classAssignmentTemp;
            classSchedulePanelItem.ItemTemplate = classScheduleTemp;
            classNoticePanelItem.ItemTemplate = classNoticeTemp;
            //classDetailsPanelItem.ItemTemplate = classDetailsTemp;
            //classDetailSchedulerPanelItem.ItemTemplate = classScedulerViewTemp;
            //panelItem.Items.Add(classDetailsPanelItem);
           
            panelItem.Items.Add(classNoticePanelItem);
            panelItem.Items.Add(classSchedulePanelItem);
            panelItem.Items.Add(classAssignmentPanelItem);
            panelItem.Items.Add(classDetailSchedulerPanelItem);

            panelBar.Items.Add(panelItem);
        }

        ClassPlaceHolder.Controls.Add(panelBar);
 
    }

    //public void BuildClassScheduler()
    //{
    //    RadScheduler clsScheduler = new RadScheduler();
    //    clsScheduler.DataSourceID = "";
    //    clsScheduler.DataStartField = "Start";
    //    clsScheduler.DataEndField = "End";
    //    clsScheduler.FirstDayOfWeek = DayOfWeek.Monday;
    //    clsScheduler.LastDayOfWeek = DayOfWeek.Sunday;
    //    clsScheduler.HoursPanelTimeFormat = "htt";
    //    clsScheduler.ValidationGroup="RadScheduler1";
    //    clsScheduler.DataSubjectField = "Subject";
    //    clsScheduler.DataRecurrenceField = "RecurrenceRule";
    //    clsScheduler.DataRecurrenceParentKeyField = "RecurrenceParentID";
    //    clsScheduler.Height = Unit.Pixel(600);
    //    clsScheduler.Width = Unit.Percentage(100);
    //    clsScheduler.SelectedView = SchedulerViewType.WeekView;
    //    clsScheduler.AllowDelete = false;
    //    clsScheduler.AllowEdit = false;
    //    clsScheduler.AllowInsert = false;
      

    //}
}

public class DownloadLinktemplate : ITemplate
{
    HyperLink dwnLink = new HyperLink();

    #region ITemplate Members

    public void InstantiateIn(Control container)
    {
        dwnLink.ID = "downloadLink";
        container.Controls.Add(dwnLink);
    }

    #endregion
}

public class ClassNoticeTemplate : ITemplate
{
    RadGrid noticesGrid = new RadGrid();
    Control c;

    public void InstantiateIn(Control container)
    {
        container.Controls.Add(c);
      
    }

    public void LoadUserControl(Control c)
    {
        this.c = c;
    }

    public void SetNoticesDataSource(TList<NetTiers.Entities.ClassNotice> data)
    {
        ((RadGrid)c.FindControl("ClassNoticeGrid")).ItemDataBound += noticesGrid_ItemDataBound;
        ((RadGrid)c.FindControl("ClassNoticeGrid")).DataSource = data;

    }

    #region Grid Events

    void noticesGrid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            ClassNotice currentClass = (ClassNotice)e.Item.DataItem;
            //UserInfo currentUser = (UserInfo)Session[EnumSessionVariables.UserInfo.ToString()];

            //bind the client script for launching the download
            if (currentClass.AttachedItem != null)
            {
                ((HyperLink)e.Item.FindControl("downloadLink")).ToolTip = "Download Attached File";
                ((HyperLink)e.Item.FindControl("downloadLink")).NavigateUrl = "filedownload.txt?" +

"tab=Classes&Notice=true&key=" +
                    e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ClassNoticeId"] +
                    "&studentid=" + SessionObject.ManagedUserId + "&Notice=yes";
               
            }
            else
            {
                HyperLink downloadLink = e.Item.FindControl("downloadLink") as HyperLink;
                downloadLink.ImageUrl = "~/RadControls/Grid/Skins/Cancel.gif";
                downloadLink.ToolTip = "No attachment to download";
                downloadLink.Enabled = false;
            }
        }
    }

    #endregion

}

public class ClassAssignmentTemplate : ITemplate
{
    RadGrid assignmentGrid = new RadGrid();
    Control c;

    public void InstantiateIn(Control container)
    {
        container.Controls.Add(c);

    }

    public void LoadUserControl(Control c)
    {
        this.c = c;
    }

    public void SetAssignmentDataSource(TList<NetTiers.Entities.ClassAssignment> data)
    {
        ((RadGrid)c.FindControl("ClassAssignmentGrid")).ItemDataBound += classAssignmentGrid_ItemDataBound;
        ((RadGrid)c.FindControl("ClassAssignmentGrid")).DataSource = data;
    }

    #region Grid Events

    void classAssignmentGrid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            ClassAssignment currentClass = (ClassAssignment)e.Item.DataItem;
            //UserInfo currentUser = (UserInfo)Session[EnumSessionVariables.UserInfo.ToString()];

            //bind the client script for launching the download
            if (currentClass.Attachment != null)
            {
                ((HyperLink)e.Item.FindControl("downloadLink")).ToolTip = "Download Attached File";
                ((HyperLink)e.Item.FindControl("downloadLink")).NavigateUrl = "filedownload.txt?" +

"tab=Classes&Assignment=true&key=" +
                    e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["AssignmentId"] +
                    "&studentid=" + SessionObject.ManagedUserId;
               
            }
            else
            {
                HyperLink downloadLink = e.Item.FindControl("downloadLink") as HyperLink;
                downloadLink.ImageUrl = "~/RadControls/Grid/Skins/Cancel.gif";
                downloadLink.ToolTip = "No attachment to download";
                downloadLink.Enabled = false;
            }
        }
    }
    #endregion

}

public class ClassScheduleTemplate : ITemplate
{

    #region ITemplate Members
    RadGrid scheduleGrid = new RadGrid();
    Control userControl;

    public void LoadUserControl(Control c)
    {
        userControl = c;
    }

    public void InstantiateIn(Control container)
    {
        container.Controls.Add(userControl);
    }

    public void SetScheduleDataSource(TList<NetTiers.Entities.ClassSchedule> data)
    {
        ((RadGrid)userControl.FindControl("ClassScheduleGrid")).DataSource = data;
        ((RadGrid)userControl.FindControl("ClassScheduleGrid")).ItemDataBound += new

GridItemEventHandler(classScheduleGrid_ItemDataBound);
    }

    void classScheduleGrid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            ClassSchedule currentClass = (ClassSchedule)e.Item.DataItem;
            //UserInfo currentUser = (UserInfo)Session[EnumSessionVariables.UserInfo.ToString()];

            //bind the client script for launching the download
            if (currentClass.Attachment != null)
            {
                ((HyperLink)e.Item.FindControl("downloadLink")).ToolTip = "Download Attached File";
                ((HyperLink)e.Item.FindControl("downloadLink")).NavigateUrl = "filedownload.txt?" +

"tab=Classes&Schedule=true&key=" +
                    e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ClassTimeId"] +
                    "&studentid=" + SessionObject.ManagedUserId +"&Schedule=yes";

            }
            else
            {
                HyperLink downloadLink = e.Item.FindControl("downloadLink") as HyperLink;
                downloadLink.ImageUrl = "~/RadControls/Grid/Skins/Cancel.gif";
                downloadLink.ToolTip = "No attachment to download";
                downloadLink.Enabled = false;
            }
        }

    }

    #endregion

}

public class ClassDetailsTemplate : ITemplate
{
    TextBox classOwner = new TextBox();
    LinkButton sharedresource = new LinkButton();
    TextBox classDescription = new TextBox();
    Label description = new Label();
    Label owner = new Label();

    Control c;

    public void InstantiateIn(Control container)
    {

        container.Controls.Add(c);

    }

    public void LoadUserControl(Control c)
    {
        this.c = c;
    }

    public void ClassDetails(SafeNameClass currentClass)
    {
        ((TextBox)c.FindControl("txtClassdescription")).Text = currentClass.ClassDescription;
        ((TextBox)c.FindControl("txtClassOwner")).Text = string.Format("{0} {1}",

currentClass.UserCreatedSource.FirstName, currentClass.UserCreatedSource.Surname);
        if (currentClass.ResourceSiteUrl == null)
        {
            ((HyperLink)c.FindControl("resourceSiteLnk")).Visible = false;
        }
        else
        {
            ((HyperLink)c.FindControl("resourceSiteLnk")).NavigateUrl = currentClass.ResourceSiteUrl;
        }
    }

}

 

 

Mark de Torres
Top achievements
Rank 1
 asked on 29 Apr 2010
1 answer
114 views
I've got a radcombobox, and a radtooltip associated with it.

The Combobox is set to MarkFirstMatch & AllowCustomText.

The tooltip is set to display OnFocus, if it's set to OnMouseOver it displays fine, it just doesn't seem to display using the OnFocus event.

Is this a bug ?
Veronica
Telerik team
 answered on 29 Apr 2010
3 answers
265 views
I am using the OnGridCreated Client event on a radgrid.

I have the following code:

function

 

GridCreated(sender, args)

 

{

 

 

    var scrollArea = sender.GridDataDiv;

 

 

    var dataHeight = sender.get_masterTableView().get_element().clientHeight;

 

}


The problem I am having is that "sender.GridDataDiv" is coming back as NULL.  Sender is not NULL, just Sender.GridDataDiv.  Any ideas why?


Here is my grid markup:

 

<

 

telerik:RadGrid ID="rgUsers" runat="server" AutoGenerateColumns="false" AllowPaging="true" Width="850px" PagerStyle-Mode="NextPrevAndNumeric"

 

 

OnNeedDataSource="rgUsers_NeedDataSource" OnItemCommand="rgUsers_OnItemCommand" OnSelectedIndexChanged="rgUsers_OnSelectedIndexChanged" OnDataBound="rgUsers_OnDataBound"

 

 

 

 

 

 

OnInsertCommand="rgUsers_InsertCommand" OnUpdateCommand="rgUsers_UpdateCommand" ClientSettings-ClientEvents-OnRowCreated="rgUsers_Client_OnRowCreated"

 

 

 

 

 

 

ClientSettings-ClientEvents-OnMasterTableViewCreated="rgUsers_Client_OnMasterTableViewCreated" ClientSettings-ClientEvents-OnGridCreated="GridCreated">

 

 

 

 

 

 

<MasterTableView Width="100%" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage" DataKeyNames="GlobalId" ClientDataKeyNames="GlobalId">

 

 

 

 

 

 

<CommandItemSettings AddNewRecordText="Add User..." />

 

 

 

 

 

 

<Columns>

 

 

 

 

 

 

<telerik:GridTemplateColumn UniqueName="SelectUserColumn" >

 

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

<asp:CheckBox runat="server" ID="cbSelectUser" onclick="cbSelectUser_OnClick();" />

 

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

 

</telerik:GridTemplateColumn>

 

 

 

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" />

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="GlobalId" UniqueName="GlobalIdColumn" Visible="false" ReadOnly="true" />

 

 

 

 

 

 

<telerik:GridTemplateColumn DataField="Username" UniqueName="UsernameColumn" HeaderText="Username" >

 

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

<asp:LinkButton ID="btnUserDetails" runat="server" CommandName="Select" CommandArgument='<%# Eval("GlobalId") %>' Text='<%# Eval("Username") %>' />

 

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

 

<EditItemTemplate>

 

 

 

 

 

 

<asp:TextBox ID="txtUsername" runat="server" Text='<%# Eval("Username") %>' />

 

 

 

 

 

 

</EditItemTemplate>

 

 

 

 

 

 

</telerik:GridTemplateColumn>

 

 

 

 

 

 

<telerik:GridCheckBoxColumn DataField="StrongPassword" HeaderText="Strong Password" UniqueName="StrongPasswordColumn" />

 

 

 

 

 

 

<telerik:GridCheckBoxColumn DataField="PasswordExpires" HeaderText="Password Expires" UniqueName="PasswordExpiresColumn" />

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="PasswordValidDays" HeaderText="Password Valid # Days" UniqueName="PasswordValidDaysColulmn" />

 

 

 

 

 

 

<telerik:GridDropDownColumn DataField="RoleId" DataSourceID="LinqRoleSource" HeaderText="Role" ListTextField="RoleName" ListValueField="RoleId" UniqueName="RoleColumn" />

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="Person.FirstName" HeaderText="First Name" UniqueName="FirstNameColumn" />

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="Person.LastName" HeaderText="Last Name" UniqueName="LastNameColumn" />

 

 

 

 

 

 

<telerik:GridDropDownColumn DataField="OrganizationId" DataSourceID="LinqOrgSource" UniqueName="OfficeColumn" HeaderText="Office" ListTextField="Name" ListValueField="OrganizationId" />

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="OrganizationId" UniqueName="OrgIDColumn" Visible="true" />

 

 

 

 

 

 

</Columns>

 

 

 

 

 

 

<EditFormSettings EditColumn-ButtonType="ImageButton" EditColumn-UniqueName="EditColumn" UserControlName="~/UserControls/Users/EditUserDetails.ascx" EditFormType="WebUserControl" />

 

 

 

 

 

 

</MasterTableView>

 


</

 

telerik:RadGrid>

 



Thanks

Dave Hollen
Top achievements
Rank 1
 answered on 29 Apr 2010
3 answers
758 views
I am using Telerik's rad combo box with checkbox as in http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/templates/defaultcs.aspx

How can I provide a 

A)  Select All(as a label and not as a checkbox)  feature to that  demo?

I am using the code

Asp .NET Page

<telerik:RadComboBox ID="radBox" runat="server" EmptyMessage="Please Select" HighlightTemplatedItems="True"

AllowCustomText="True" OnClientDropDownClosed="onDropDownClosing"

Skin="Office2007">

<ItemTemplate>

<div onclick="StopPropagation(event)">

<asp:CheckBox runat="server" ID="selectBox" checked="false"

onclick="onBoxClick(this)" Text='<%#DataBinder.Eval(Container,"Text")%>'/>

In Cs File

protected void DataBind(){
//Code Omitted

radBox.DataSource = NameList;

radBox.DataValueField = "Id";

radBox.DataTextField = "Text";

radBox.DataBind();

}
Currently If I add a Select All as my List Item its coming as a Checkbox feature,I need to Select All the items on the first item click (How can I include that feature?)  and not get that added as a text when selecting .

B) One more feature I would like to have is to limit the user not to enter any invalid characters in the Select All but keep the Empty Message string?

How can I bring that functionality apart  from the one specified over here..(That is disabling the keypress)  in http://www.telerik.com/community/forums/aspnet-ajax/combobox/how-can-i-show-a-message-at-the-top-of-combobox-like-choose-an-item.aspx 

and here( where the empty client side text wont have the Italic Silver style for Rad Combo box)

http://www.telerik.com/community/forums/aspnet-ajax/combobox/set-radcombobox-to-empty-clientside.aspx


The  exact problem I am facing here is :

I have normal drop down checkbox
and the Multiselect checkbox in One page.

When I set the style for Drop down checkbox to be AllowCustomText=true ,the empty message is coming and the user can enter everything in that combo box(One work around being disabling all the keypress in javascript code.Which I dont want, and I dont want a custom validator either.

In this forum I have found a way to set the empty text on load ,But that client code is not working,showing the radComboBox is null,when we try to execute the function


 

 





 







Kalina
Telerik team
 answered on 29 Apr 2010
1 answer
231 views
Hi,

I am trying to do both Alpha filtering and the "edit" link that show a modal window.  Both are set up using
RadGrid2_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e).  One uses e.Item is GridCommandItem (the alpha filter) and the other uses e.Item is GridDataItem.

I think each get set up OK at the outset, because I can see the alpha characters and the hyperlink around the "edit".  But the only one that works is the "edit", meaning that it pops up the modal window.  The alpha filtering fails and says "sys.WebForms.PageRequestManagerServerErrorException: Index was out of range. Must be non-negative and less than the size of the collection."

Here is the code:
        public void RadGrid2_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {

            if (e.Item is GridCommandItem)
            {
                lblMessage.Text = "GridCommandItem";

                GridCommandItem commandItem = (e.Item as GridCommandItem);
                PlaceHolder container = (PlaceHolder)commandItem.FindControl("PlaceHolder1");

                for (int i = 65; i <= 65 + 25; i++)
                {
                    LinkButton linkButton1 = new LinkButton();
                    LiteralControl lc = new LiteralControl("&nbsp;|&nbsp;");

                    linkButton1.Text = "" + (char)i;

                    linkButton1.CommandName = "alpha";
                    linkButton1.CommandArgument = "" + (char)i;

                    container.Controls.Add(linkButton1);
                    container.Controls.Add(lc);
                }

                LiteralControl lcLast = new LiteralControl("&nbsp;");
                container.Controls.Add(lcLast);

                LinkButton linkButtonAll = new LinkButton();
                linkButtonAll.Text = "All";
                linkButtonAll.CommandName = "NoFilter";
                container.Controls.Add(linkButtonAll);
            }

            if (e.Item is GridDataItem)
            {
                lblMessage.Text = "GridDataItem";
                HyperLink editLink = (HyperLink)e.Item.FindControl("EditLink");
                editLink.Attributes["href"] = "#";
                editLink.Attributes["onclick"] = String.Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["idAssociate"], e.Item.ItemIndex);
            }
        

        }


Can anyone tell me what I am doing wrong?

Thanks,

Kevin Long


Yavor
Telerik team
 answered on 29 Apr 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?