Adding the ClientEvents OnCommand property to the RadGrid will cause load the grid on the page with some empty rows. When I remove ClientEvents OnCommand property – all works fine.
I have:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="App_test_test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="scriptManagerBase" runat="server" >
<Scripts>
</Scripts>
</telerik:RadScriptManager>
<div>
<telerik:RadGrid ID="gvClaimHistory" runat="server" AutoGenerateColumns="False" GridLines="None" AllowSorting="true" PageSize="20">
<MasterTableView Width="100%">
<Columns>
<telerik:GridImageColumn DataImageUrlFields="StatusURL" DataImageUrlFormatString="{0}" HeaderText="Status" UniqueName="statusCol" AllowSorting="false" />
</Columns>
<NoRecordsTemplate>
<div class="important center" style="margin: 5px;">There are no current to display.</div>
</NoRecordsTemplate>
</MasterTableView>
<ClientSettings>
<
ClientEvents OnCommand="gv_Command" />
</ClientSettings>
</telerik:RadGrid>
</div>
</form>
<telerik:RadCodeBlock runat="server" ID="codeBlock1">
<script type="text/javascript">
function gv_Command(sender, args) {
alert('test');
}
</script>
</telerik:RadCodeBlock>
</body>
</html>
See attached files with and without ClientEvents OnCommand.
Without works properly, with should work in the same way. Any suggestions how to fix it?
<%@ Page Language="VB" AutoEventWireup="true" CodeBehind="RadSchedulerWebForm.aspx.vb" Inherits="digiCONTACTSWebApp.RadSchedulerWebForm" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
<
style
>
#scheduler-container {
width: 700px;
float: left;
}
#settings-container {
float: right;
}
</
style
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
</
script
>
<
telerik:RadSkinManager
ID
=
"RadSkinManager1"
Runat
=
"server"
Skin
=
"Transparent"
>
</
telerik:RadSkinManager
>
<
script
type
=
"text/javascript"
>
var categoryNames = new Array();
function ClientNodeChecked(sender, eventArgs) {
SchedulerID = eventArgs.get_node().get_value();
var scheduler = $find('<%=RadScheduler1.ClientID %>');
scheduler.rebind();
}
/* function OnClientAppointmentsPopulating(sender, eventArgs) {
eventArgs.get_schedulerInfo().SchedulerID = SchedulerID;
}*/
function OnClientAppointmentsPopulating(sender, eventArgs) {
addSelectedCategoriesToArray(categoryNames);
eventArgs.get_schedulerInfo().CategoryNames = categoryNames.toString();
categoryNames = new Array(); //clear the array
}
function OnClientAppointmentDataBound(sender, eventArgs) {
var app = eventArgs.get_appointment();
//debugger;
var backColor = app.get_attributes().getAttribute("AppointmentCssColor");
if (backColor)
app.set_cssClass(backColor);
// app.set_backColor("yellow");
// app.set_cssClass("rsCategoryYellow");
}
function addSelectedCategoriesToArray(categoryNamesArray) {
var $ = $telerik.$;
var categoryPanelBar = $find('<%=RadPanelBar1.ClientID %>');
$(':checkbox:checked', categoryPanelBar.get_element()).each(function () {
categoryNames.push($(this).attr('id'));
});
}
function rebindScheduler() {
var scheduler = $find('<%=RadScheduler1.ClientID %>');
scheduler.rebind();
}
</
script
>
<
div
id
=
"settings-container"
>
<
telerik:RadPanelBar
ID
=
"RadPanelBar1"
Runat
=
"server"
>
</
telerik:RadPanelBar
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:vicidialConnectionString4 %>"
ProviderName="<%$ ConnectionStrings:vicidialConnectionString4.ProviderName %>"
SelectCommand="SELECT lead_id, status, `user`, source_id, list_id, phone_number, first_name, last_name, address1, city, postal_code, alt_phone, comments FROM vicidial_list">
</
asp:SqlDataSource
>
</
div
>
<
div
id
=
"scheduler-container"
>
<
telerik:RadScheduler
ID
=
"RadScheduler1"
runat
=
"server"
OnClientAppointmentsPopulating
=
"OnClientAppointmentsPopulating"
SelectedView
=
"WeekView"
Width
=
"1000px"
Height
=
"600px"
Skin
=
"Transparent"
Culture
=
"fr-FR"
onclientappointmentdatabound
=
"OnClientAppointmentDataBound"
EnableCustomAttributeEditing
=
"True"
StartInsertingInAdvancedForm
=
"True"
SelectedDate
=
"07/13/2012 08:54:36"
>
<
AdvancedForm
EnableCustomAttributeEditing
=
"True"
Modal
=
"True"
/>
<
Localization
AdvancedCalendarCancel
=
"Annuler"
AdvancedDay
=
"Jour"
AdvancedMaskDay
=
"Jour"
HeaderDay
=
"Jour"
HeaderMonth
=
"Mois"
HeaderToday
=
"Aujourd'hui"
HeaderWeek
=
"Semaine"
/>
<
WebServiceSettings
Path
=
"SchedulerWebService.asmx"
ResourcePopulationMode
=
"ServerSide"
/>
</
telerik:RadScheduler
>
</
div
>
</
form
>
</
body
>
</
html
>
<telerik:RadAjaxPanel ID=
"RadAjaxPanel1"
runat=
"server"
LoadingPanelID=
"RadAjaxLoadingPanel1"
>
<telerik:RadGrid ID=
"RadGrid1"
runat=
"server"
AllowPaging=
"true"
AllowSorting=
"true"
OnDeleteCommand=
"RadGrid1_DeleteCommand"
OnInsertCommand=
"RadGrid1_InsertCommand"
AllowFilteringByColumn=
"false"
OnUpdateCommand=
"RadGrid1_UpdateCommand"
OnUnload=
"RadGrid1_Unload"
>
<MasterTableView CommandItemDisplay=
"Top"
AutoGenerateColumns=
"false"
DataKeyNames=
"Field1"
InsertItemPageIndexAction=
"ShowItemOnCurrentPage"
>
<Columns>
<telerik:GridEditCommandColumn ButtonType=
"ImageButton"
/>
<telerik:GridButtonColumn ConfirmText=
"Delete this object?"
ConfirmDialogType=
"RadWindow"
ConfirmTitle=
"Delete"
ButtonType=
"ImageButton"
CommandName=
"Delete"
ConfirmDialogHeight=
"100px"
ConfirmDialogWidth=
"220px"
/>
<telerik:GridBoundColumn DataField=
"Field1"
HeaderText=
"Field One"
UniqueName=
"Field1"
DataType=
"System.String"
/>
<telerik:GridBoundColumn DataField=
"Field2"
HeaderText=
"Field Two"
UniqueName=
"Field2"
DataType=
"System.Double"
/>
<telerik:GridBoundColumn DataField=
"Field3"
HeaderText=
"Field Three"
UniqueName=
"Field3"
DataType=
"System.String"
/>
<telerik:GridBoundColumn DataField=
"Field4"
HeaderText=
"Field Four"
UniqueName=
"Field4"
DataType=
"System.DateTime"
/>
</Columns>
</MasterTableView>
<ClientSettings>
<DataBinding Location=
"WebService.asmx"
SelectMethod=
"GetDataAndCount"
/>
</ClientSettings>
</telerik:RadGrid>
</telerik:RadAjaxPanel>
protected
void
Page_Load(
object
sender, EventArgs e)
{
// ...
if
(!Page.IsPostBack)
{
RadGrid1.DataSource =
new
Object[0];
}
}
protected
void
RadGrid1_UpdateCommand(
object
sender, GridCommandEventArgs e)
{
// Something
}
protected
void
RadGrid1_InsertCommand(
object
sender, GridCommandEventArgs e)
{
// Something
}
protected
void
RadGrid1_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
// Something
}
protected
void
RadGrid1_Unload(
object
sender, EventArgs e)
{
// Something
}