_setTimeMatrix
var tableElement = this._findTableElement(this.DivElement); //This line returns null, so rows is empty
var tableRowLength = tableElement.rows.length;
I'm using your RadControlsExtensions to render these controls... Is there something I may be missing? I have a reference to Html.RadControlScripts<RadTimeView> in my view and a RadScriptManager:
<%= Html.RadControlScripts<RadCalendar>() %>
<%= Html.RadControlScripts<RadDateInput>() %>
<%= Html.RadControlScripts<RadTimeView>() %>
<%= Html.RadControlScripts<RadTextBox>() %>
<%= Html.RadControlCss<RadDateTimePicker>() %>
<%= Html.RadControlScripts<RadDateTimePicker>() %>
<%= Html.RadControlCss<RadComboBox>() %>
<%= Html.RadControlScripts<RadComboBox>() %>
<%= Html.RadControl<RadDateTimePicker>((rad) =>
{
rad.ID = "StartDate";
}) %>
| <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="RadGridUpload.aspx.vb" Inherits="MyTestProject.RadGridUpload" %> |
| <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
| <!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:RadScriptBlock ID="RadScriptBlock1" runat="server"> |
| <script type="text/javascript"> |
| //<![CDATA[ |
| function conditionalPostback(e, sender) { |
| var theRegexp = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig"); |
| if (sender.get_eventTarget().match(theRegexp)) { |
| var upload = $find(window['UploadId']); |
| //AJAX is disabled only if file is selected for upload |
| if (upload.getFileInputs()[0].value != "") { |
| sender.set_enableAjax(false); |
| } |
| } |
| } |
| function validateRadUpload(source, e) { |
| alert("true"); |
| e.IsValid = false; |
| var upload = $find(source.parentNode.getElementsByTagName('div')[0].id); |
| var inputs = upload.getFileInputs(); |
| for (var i = 0; i < inputs.length; i++) { |
| //check for empty string or invalid extension |
| if (inputs[i].value != "" && upload.isExtensionValid(inputs[i].value)) { |
| e.IsValid = true; |
| break; |
| } |
| } |
| } |
| //]]> |
| </script> |
| </telerik:RadScriptBlock> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <div> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="MyRadGrid" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| Click Edit to Upload a File: |
| <br /> |
| <telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" ClientEvents-OnRequestStart="conditionalPostback"> |
| <telerik:RadGrid runat="server" ID="MyRadGrid" AutoGenerateColumns="false" > |
| <MasterTableView> |
| <Columns> |
| <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn> |
| <telerik:GridTemplateColumn HeaderText="Upload" UniqueName="Upload"> |
| <ItemTemplate> |
| <%#Eval("Col1")%> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <telerik:RadUpload runat="server" ID="RadUpload" ControlObjectsVisibility="None" /> |
| </EditItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </telerik:RadAjaxPanel> |
| </div> |
| </form> |
| </body> |
| </html> |
| Imports Telerik.Web.UI |
| Partial Public Class RadGridUpload |
| Inherits System.Web.UI.Page |
| Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load |
| End Sub |
| Private Sub MyRadGrid_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles MyRadGrid.NeedDataSource |
| MyRadGrid.DataSource = GridDataSource() |
| End Sub |
| Private Function GridDataSource() As DataTable |
| Dim dtMyTable As New DataTable |
| dtMyTable.Columns.Add("Col1") |
| Dim dtRow As DataRow = dtMyTable.NewRow |
| dtRow("Col1") = "2" |
| dtMyTable.Rows.Add(dtRow) |
| Return dtMyTable |
| End Function |
| Private Sub MyRadGrid_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles MyRadGrid.ItemCreated |
| If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then |
| Dim editItem As GridEditableItem = DirectCast(e.Item, GridEditableItem) |
| Dim upload As RadUpload = TryCast(e.Item.FindControl("RadUpload"), RadUpload) |
| Dim validator As CustomValidator = New CustomValidator() |
| validator.ErrorMessage = "Please select file to be uploaded" |
| validator.ClientValidationFunction = "validateRadUpload" |
| validator.Display = ValidatorDisplay.Dynamic |
| DirectCast(upload.Parent, TableCell).Controls.Add(validator) |
| End If |
| End Sub |
| Private Sub MyRadGrid_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles MyRadGrid.ItemDataBound |
| If TypeOf (e.Item) Is GridEditableItem AndAlso e.Item.IsInEditMode Then |
| Dim upload As RadUpload = TryCast(e.Item.FindControl("RadUpload"), RadUpload) |
| RadAjaxPanel1.ResponseScripts.Add(String.Format("window['UploadId'] = '{0}';", upload.ClientID)) |
| End If |
| End Sub |
| End Class |
| <telerik:GridDateTimeColumn DataField="Date" HeaderText="Datum" |
| SortExpression="Date" UniqueName="Date"> |
| </telerik:GridDateTimeColumn> |
| grid.SelectedItems |
| grid.SelectedItems |
| var selected = {}; |
| <%@ Control Language="VB" AutoEventWireup="false" CodeFile="POCSchedular.ascx.vb" |
| Inherits="POCSchedular" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <div> |
| <telerik:RadAjaxManagerProxy ID="RadAjaxManagerSch" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadScheduler1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadScheduler1"/> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManagerProxy> |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td> |
| <telerik:RadScheduler runat="server" ID="RadScheduler1" ShowAllDayRow="false" Skin="Office2007" |
| SelectedView="WeekView" DataKeyField="ID" DataStartField="Start" DataEndField="End" |
| DataSubjectField="Note"> |
| <WeekView HeaderDateFormat="dd.MM" /> |
| <TimelineView UserSelectable="false" /> |
| </telerik:RadScheduler> |
| </td> |
| </tr> |
| </table> |
| </div> |
POCSchedular.ascx.vb
| Imports System.Data |
| Imports Telerik.Web.UI |
| Imports Telerik.Web.UI.Upload |
| Partial Class POCSchedular |
| Inherits System.Web.UI.UserControl |
| #Region "Events" |
| #Region "Page_Load" |
| ''' <summary> |
| ''' |
| ''' </summary> |
| ''' <param name="sender"></param> |
| ''' <param name="e"></param> |
| ''' <remarks></remarks> |
| Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load |
| RadScheduler1.DayStartTime = New TimeSpan(8, 0, 0) |
| RadScheduler1.DayEndTime = New TimeSpan(18, 0, 0) |
| RadScheduler1.DataSource = GetSchedularData().Tables(0) |
| End Sub |
| #End Region |
| #Region "RadScheduler1_AppointmentUpdate" |
| ''' <summary> |
| ''' |
| ''' </summary> |
| ''' <param name="sender"></param> |
| ''' <param name="e"></param> |
| ''' <remarks></remarks> |
| Protected Sub RadScheduler1_AppointmentUpdate(ByVal sender As Object, ByVal e As Telerik.Web.UI.AppointmentUpdateEventArgs) Handles RadScheduler1.AppointmentUpdate |
| Dim dsSchedule As DataSet = GetSchedularData() |
| If Not dsSchedule Is Nothing Then |
| For Each drSchedule As DataRow In dsSchedule.Tables(0).Rows |
| If drSchedule("ID").ToString().Trim() = e.Appointment.ID Then |
| drSchedule("Start") = e.ModifiedAppointment.Start |
| drSchedule("End") = e.ModifiedAppointment.End |
| drSchedule("Note") = e.ModifiedAppointment.Subject |
| Exit For |
| End If |
| dsSchedule.Tables(0).AcceptChanges() |
| dsSchedule.AcceptChanges() |
| Next |
| End If |
| End Sub |
| #End Region |
| #Region "RadScheduler1_AppointmentInsert" |
| ''' <summary> |
| ''' |
| ''' </summary> |
| ''' <param name="sender"></param> |
| ''' <param name="e"></param> |
| ''' <remarks></remarks> |
| Protected Sub RadScheduler1_AppointmentInsert(ByVal sender As Object, ByVal e As Telerik.Web.UI.SchedulerCancelEventArgs) Handles RadScheduler1.AppointmentInsert |
| Dim dsSchedule As DataSet = GetSchedularData() |
| If Not dsSchedule Is Nothing Then |
| Dim drSchedule As DataRow = dsSchedule.Tables(0).NewRow() |
| drSchedule("ID") = New Random().Next(1000) |
| drSchedule("Start") = e.Appointment.Start |
| drSchedule("End") = e.Appointment.End |
| drSchedule("Note") = e.Appointment.Subject |
| dsSchedule.Tables(0).Rows.Add(drSchedule) |
| dsSchedule.Tables(0).AcceptChanges() |
| dsSchedule.AcceptChanges() |
| End If |
| End Sub |
| #End Region |
| #Region "RadScheduler1_AppointmentDelete" |
| ''' <summary> |
| ''' |
| ''' </summary> |
| ''' <param name="sender"></param> |
| ''' <param name="e"></param> |
| ''' <remarks></remarks> |
| Protected Sub RadScheduler1_AppointmentDelete(ByVal sender As Object, ByVal e As Telerik.Web.UI.SchedulerCancelEventArgs) Handles RadScheduler1.AppointmentDelete |
| Dim dsSchedule As DataSet = GetSchedularData() |
| If Not dsSchedule Is Nothing Then |
| Dim filter As String = "ID =" & e.Appointment.ID.ToString() |
| Dim drSchedule() As DataRow = dsSchedule.Tables(0).Select(filter) |
| For Each drDel As DataRow In drSchedule |
| dsSchedule.Tables(0).Rows.Remove(drDel) |
| Next |
| dsSchedule.Tables(0).AcceptChanges() |
| dsSchedule.AcceptChanges() |
| End If |
| End Sub |
| #End Region |
| #End Region |
| #Region "Private Functions" |
| #Region "GetSchedularData" |
| ''' <summary> |
| ''' |
| ''' </summary> |
| ''' <returns></returns> |
| ''' <remarks></remarks> |
| Private Function GetSchedularData() As DataSet |
| Dim dsSchedule As New DataSet() |
| If Session("SCHEDULE") Is Nothing Then |
| Dim dtSchedule As New DataTable("Schedule") |
| Dim drSchedule As DataRow |
| Dim colSchedule As DataColumn |
| colSchedule = New DataColumn("ID") |
| dtSchedule.Columns.Add(colSchedule) |
| colSchedule = New DataColumn("Start") |
| dtSchedule.Columns.Add(colSchedule) |
| colSchedule = New DataColumn("End") |
| dtSchedule.Columns.Add(colSchedule) |
| colSchedule = New DataColumn("Note") |
| dtSchedule.Columns.Add(colSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {1, New Date(2008, 12, 1, 9, 15, 0), New Date(2008, 12, 1, 10, 15, 0), "EMS Demo."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {2, New Date(2008, 12, 1, 13, 0, 0), New Date(2008, 12, 1, 14, 30, 0), "Req. Collection."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {3, New Date(2008, 12, 2, 11, 0, 0), New Date(2008, 12, 2, 13, 0, 0), "Client Lunch."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {4, New Date(2008, 12, 3, 9, 0, 0), New Date(2008, 12, 3, 10, 0, 0), "Team Review."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {5, New Date(2008, 12, 3, 16, 0, 0), New Date(2008, 12, 3, 16, 30, 0), "Project plan disc."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {6, New Date(2008, 12, 5, 8, 30, 0), New Date(2008, 12, 5, 10, 30, 0), "Offshore status review."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {7, New Date(2008, 12, 8, 10, 0, 0), New Date(2008, 12, 8, 12, 0, 0), "Update Timesheet."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {8, New Date(2008, 12, 8, 10, 0, 0), New Date(2008, 12, 8, 12, 0, 0), "Create week plan."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {9, New Date(2008, 12, 8, 13, 0, 0), New Date(2008, 12, 8, 15, 0, 0), "Training."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {10, New Date(2008, 12, 9, 14, 0, 0), New Date(2008, 12, 9, 15, 0, 0), "Dev. status meet."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {11, New Date(2008, 12, 10, 8, 30, 0), New Date(2008, 12, 10, 10, 0, 0), "Client meeting."} |
| dtSchedule.Rows.Add(drSchedule) |
| drSchedule = dtSchedule.NewRow() |
| drSchedule.ItemArray = New Object() {12, New Date(2008, 12, 11, 16, 0, 0), New Date(2008, 12, 11, 17, 0, 0), "Team updates."} |
| dtSchedule.Rows.Add(drSchedule) |
| dsSchedule.Tables.Add(dtSchedule) |
| Session("SCHEDULE") = dsSchedule |
| Else |
| dsSchedule = CType(Session("SCHEDULE"), DataSet) |
| End If |
| Return dsSchedule |
| End Function |
| #End Region |
| #End Region |
| End Class |
Thanks,
Avi