When rendered the Grid looks like the attached ExampleGrid.jpg. As you can see there are several TemplateColumns with dates in the header and TextBoxes in the item. When I drag the horizontal scrollbar the first 3 columns stay on their position and the others will scroll as expected.
Now for the problem; when I click in the first textbox on the screen (the one beneath 28-12) and press tab several times the first 3 columns don't stay on their position. See the attached exampleerror.jpg
I've looked throught the examples but this situation (the one with editable controls like textboxes) aren't available. Can you please help me with this?
Regards

Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemCreated
If IsPdfExport AndAlso TypeOf e.Item Is GridHeaderItem Then
RadGrid1.ExportSettings.Pdf.Title = "Unpaid/Partial Payment"
Dim headerItem As GridHeaderItem = e.Item
headerItem.Style("horizontal-align") = "left"
headerItem.Style("font-size") = "10pt"
headerItem.Style("background-color") = "lightgray"
For Each cell As TableCell In headerItem.Cells
cell.Style("text-align") = "left"
Next
End If
If TypeOf e.Item Is GridDataItem Then
Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
For Each cell As TableCell In item.Cells
cell.Style("text-align") = "left"
cell.Style("font-size") = "10pt"
If e.Item.ItemType = GridItemType.AlternatingItem Then
e.Item.BackColor = System.Drawing.Color.LightYellow
End If
Next
End If
If IsPdfExport AndAlso TypeOf e.Item Is GridFooterItem Then
Dim footerItem As GridFooterItem = e.Item
footerItem.Style("horizontal-align") = "left"
footerItem.Style("font-size") = "10pt"
For Each cell As TableCell In footerItem.Cells
cell.Style("text-align") = "left"
Next
End If
End Sub
| Public Sub ImpostaCampiDataBase(ByVal Pagina As Page, ByVal IDWS As String, ByVal NotaMod As String) |
| ' imposta campi data base dalla pagina web |
| TestoMessaggio = "" |
| Dim c As Control |
| Dim childc As Control |
| Dim intc As Integer |
| Try |
| For Each c In Pagina.Controls |
| For Each childc In c.Controls |
| If TypeOf childc Is TextBox Then |
| If Left(CType(childc, TextBox).ID, 3) = "txt" Then |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = Mid(childc.ID, 4) |
| paramVal(intc) = CType(childc, TextBox).Text |
| intcintc = intc + 1 |
| End If |
| ElseIf TypeOf childc Is Telerik.Web.UI.RadTextBox Then |
| If Left(CType(childc, Telerik.Web.UI.RadTextBox).ID, 3) = "txt" Then |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = Mid(childc.ID, 4) |
| paramVal(intc) = CType(childc, Telerik.Web.UI.RadTextBox).Text |
| intcintc = intc + 1 |
| End If |
| ElseIf TypeOf childc Is Telerik.Web.UI.RadDatePicker Then |
| If Left(CType(childc, Telerik.Web.UI.RadDatePicker).ID, 3) = "rdp" Then |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = Mid(childc.ID, 4) |
| If CType(childc, Telerik.Web.UI.RadDatePicker).IsEmpty = True Then |
| paramVal(intc) = "" |
| Else |
| paramVal(intc) = CType(childc, Telerik.Web.UI.RadDatePicker).SelectedDate |
| End If |
| intcintc = intc + 1 |
| End If |
| ElseIf TypeOf childc Is Telerik.Web.UI.RadComboBox Then |
| If Left(CType(childc, Telerik.Web.UI.RadComboBox).ID, 3) = "lst" Then |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = Mid(childc.ID, 4) |
| paramVal(intc) = CType(childc, Telerik.Web.UI.RadComboBox).SelectedValue |
| intcintc = intc + 1 |
| End If |
| End If |
| Next |
| Next |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = "IDWS" |
| paramVal(intc) = IDWS |
| intcintc = intc + 1 |
| ReDim Preserve param(intc) |
| ReDim Preserve paramVal(intc) |
| param(intc) = "NOTAMOD" |
| paramVal(intc) = NotaMod |
| Catch _err As Exception |
| TestoMessaggio = "Errore Imposta Campi DataBase - " + _err.Source + "->" + _err.Message |
| End Try |
| End Sub |
| class CaseMenuTemplate : ITemplate |
| { |
| public void InstantiateIn(Control container) |
| { |
| Panel pBase = new Panel(); |
| Panel pHeader = new Panel(); |
| Panel pContent = new Panel(); |
| pBase.CssClass = "MenuPanelBase"; |
| pHeader.CssClass = "MenuPanelHeader"; |
| pContent.CssClass = "MenuPanelContent"; |
| Label lblCase = new Label(); |
| lblCase.ID = "lblCase"; |
| lblCase.Text = "Case:"; |
| lblCase.CssClass = "MenuLabelCase"; |
| pHeader.Controls.Add(lblCase); |
| Label lblCaseNumber = new Label(); |
| lblCaseNumber.ID = "lblCaseNumber"; |
| lblCaseNumber.Text = "1234567890"; |
| lblCaseNumber.CssClass = "MenuLabelCaseNumber"; |
| pHeader.Controls.Add(lblCaseNumber); |
| Button pClose = new Button(); |
| pClose.CssClass = "MenuCloseButton"; |
| pHeader.Controls.Add(pClose); |
| pBase.Attributes.Add("onmouseover", "this.className = 'MenuPanelBaseHover';"); |
| pBase.Attributes.Add("onmouseout", "this.className = 'MenuPanelBase';"); |
| pClose.Attributes.Add("onmouseover", "this.className = 'MenuCloseButtonHover';"); |
| pClose.Attributes.Add("onmouseout", "this.className = 'MenuCloseButton';"); |
| pClose.Attributes.Add("onclick", "deleteItem(this);return false;"); |
| container.Controls.Add(pBase); |
| pBase.Controls.Add(pHeader); |
| pBase.Controls.Add(pContent); |
| } |
| function(){a.SplitterPaneBase.callBaseMethod(this,"initialize"); |
| var b=this._isSplitterVertical(); |
| this.getVarSize=b?this.get_width:this.get_height; |
| this.setVarSize=b?this.set_width:this.set_height; |
| this.getVarMinSize=b?this.get_minWidth:this.get_minHeight; |
| this.getVarMaxSize=b?this.get_maxWidth:this.get_maxHeight; |
| },dispose:function(){a.SplitterPaneBase.callBaseMethod(this,"dispose"); |
| },_setOuterWidth:function(e,c){if(!e){throw Error.argumentNull("element"); |
| }if(c==null){throw Error.argumentNull("width"); |
| }var d=$telerik.getBorderBox(e); |
| var f=$telerik.getPaddingBox(e); |
| var b=c-d.horizontal-f.horizontal; |
| e.style.width=b.toString()+"px"; |
| },_setOuterHeight:function(e,b){if(!e){throw Error.argumentNull("element"); |
| }if(b==null){throw Error.argumentNull("height"); |
| }var d=$telerik.getBorderBox(e); |
| var f=$telerik.getPaddingBox(e); |
| var c=b-d.vertical-f.vertical; |
| protected void rscSchedule_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e) |
| { |
| aspnet_User user = SecurityExtended.UserGet(Page.User.Identity.Name); |
| Telerik.Web.UI.Appointment appointment = e.ModifiedAppointment; |
| Data.Appointment appt = Appointments.AppointmentUpdate((int)appointment.ID, appointment.Subject, appointment.Start, appointment.End, user.UserId, appointment.RecurrenceRule, (int?)appointment.RecurrenceParentID, "", appointment.Description, true); |
| foreach (Resource resource in appointment.Resources) |
| { |
| AppointmentResourceType rt = Appointments.AppointmentResourceTypeGet(resource.Type); |
| int key = (int)resource.Key; |
| string text = (string)resource.Text; |
| if (key > 0) Appointments.AppointmentResourceUpdateSingle(appt.AppointmentID, key); |
| } |
| } |