<
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?
| Sys.WebForms.PageRequestManagerServerErrorException: Specified cast is not valid. |
| [Break on this error] Type.registerNamespace("Sys.WebForms")...UI._UpdateProgress",Sys.UI.Control); |
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;
}
}
}
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>
<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