<
telerik:RadRotator PauseOnMouseOver="false" ScrollDirection="Left"
ID="BannerRotator" runat="server" OnItemDataBound="BannerRotator_ItemDataBound"
OnClientLoad="onRotatorLoadHandler" >
Dim uxRadGrid As Telerik.Web.UI.RadGrid = DirectCast(uxFormView.FindControl("uxRadGrid"), RadGrid)uxRadGrid.ItemDataBound += New GridItemEventHandler(uxRadGrid_ItemDataBound)I implemented the second type of virtual scrolling on the following page.
http://www.telerik.com/help/aspnet-ajax/grid-virtual-scrolling.html
I created a more flexible implementation while adding 100% height functionality.
<!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> <style type="text/css"> html, body, form { height: 100%; width: 100%; margin: 0px; padding: 0px; } </style> </head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> <script type="text/javascript"> var activeGrid; function RadGrid1_OnGridCreated(sender, e) { activeGrid = sender; RadGrid1_Resize(); } function RadGrid1_Resize() { setTimeout(function () { if (!activeGrid) return; var scrollDiv = activeGrid.GridDataDiv; if (scrollDiv) { var scrollHeight = document.body.offsetHeight - scrollDiv.offsetTop; var footer = activeGrid.GridFooterDiv; if (footer) { scrollHeight -= footer.offsetHeight; } var pager = activeGrid.PagerControl; if (pager) { scrollHeight -= pager.offsetHeight; } scrollDiv.style.height = scrollHeight - 2 + "px"; } }, 0); } window.onresize = window.onload = RadGrid1_Resize; function RadGrid1_OnScroll(sender, eventArgs) { if (eventArgs.isOnBottom) { var masterTableView = sender.MasterTableView; if (masterTableView.PageSize * (masterTableView.CurrentPageIndex + 1) < masterTableView.get_virtualItemCount()) { masterTableView.fireCommand("PageSizeIncrease", "50"); } } } </script> test <div> <telerik:RadGrid ID="RadGrid1" runat="server" Height="100%" PageSize="50" AllowPaging="True" AllowCustomPaging="true"> <MasterTableView Width="100%" /> <PagerStyle Visible="false" /> <ClientSettings> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <ClientEvents OnGridCreated="RadGrid1_OnGridCreated" OnScroll="RadGrid1_OnScroll" /> </ClientSettings> </telerik:RadGrid> </div> </form></body></html>Private Sub RadGrid1_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.ItemCommand Select e.CommandName Case "PageSizeIncrease" RadGrid1.PageSize += e.CommandArgument RadGrid1.Rebind() End SelectEnd SubPrivate Sub RadGrid1_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource Dim Table As New DataTable Table.Columns.Add(New DataColumn("Id", GetType(Integer))) Dim nStart As Integer = (RadGrid1.CurrentPageIndex * RadGrid1.PageSize) + 1 Dim nEnd As Integer = (RadGrid1.CurrentPageIndex + 1) * RadGrid1.PageSize For i As Integer = nStart To nEnd Dim Row As DataRow = Table.NewRow Row("Id") = i Table.Rows.Add(Row) Next RadGrid1.DataSource = Table RadGrid1.VirtualItemCount = "1000"End Sub
I'm having trouble with the ontextchanged event of the radmaskedtextbox. I enter my postal code into the mask and tab to the next field. It posts back and calls the ontextchanged event. However, the first time is posts back, the text value is blank "". If i enter the postal code a second time, the ontextchanged event picks up the value. It seems it needs a postback to actually change the value in the page, but the ontextchanged event runs before the value has been changed. Is there a workaround for this behaviour?<telerik:RadMaskedTextBoxID="PostalCode"runat="server"Text='<%#Bind("PostalCode")%>'Mask="L#L #L#" OnTextChanged="PostalCode_OnTextChanged" AutoPostBack="true" Width="50" />
THIS WORKES:-
<telerik:GridTemplateColumn DataField="vehicleModel" HeaderText="vehicleModel" SortExpression="vehicleModel" UniqueName="vehicleModel"> <EditItemTemplate> <telerik:RadComboBox ID="rcb_vehicleModel" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"vehicleModel")%>' EnableLoadOnDemand="True" OnItemsRequested="rcb_vehicleModel_ItemsRequested" AutoPostBack="true"> </telerik:RadComboBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lbl_vehicleModel" runat="server" Text='<%# Eval("vehicleModel") %>'></asp:Label> </ItemTemplate> <HeaderStyle Width="6em" /> </telerik:GridTemplateColumn>
DOES NOT WORK:-
<telerik:GridTemplateColumn DataField="vehicleModel" HeaderText="vehicleModel" SortExpression="vehicleModel" UniqueName="vehicleModel"> <EditItemTemplate> <telerik:RadComboBox ID="rcb_vehicleModel" runat="server" DataSourceID="sqlds_vehicleModel" DataTextField="vehicleModel" DataValueField="vehicleMake" SelectedValue="<%# bind('vehicleModel') %>" AutoPostBack="True"> </telerik:RadComboBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="lbl_vehicleModel" runat="server" Text='<%# Eval("vehicleModel") %>'></asp:Label> </ItemTemplate> <HeaderStyle Width="6em" /></telerik:GridTemplateColumn>Protected Sub rcb_vehicleModel_ItemsRequested(ByVal sender As Object, ByVal e As RadComboBoxItemsRequestedEventArgs) Dim editedItem As GridEditableItem = CType(CType(sender, RadComboBox).NamingContainer, GridEditableItem) Dim ddl_make As RadComboBox = DirectCast(editedItem.FindControl("rcb_vehicleMake"), RadComboBox) Dim ddl_model As RadComboBox = DirectCast(editedItem.FindControl("rcb_vehicleModel"), RadComboBox) Dim ddl_vehicleEngine As RadComboBox = DirectCast(editedItem.FindControl("rcb_vehicleEngineSize"), RadComboBox) Dim SQLstr As String SQLstr = "SELECT DISTINCT vehicleModel FROM dbo.vehicleTypes WHERE (vehicleMake = '" & ddl_make.SelectedValue.ToString & "')" ' change the data source for ContactTitle with custom code here sqlds_vehicleModel.SelectCommand = SQLstr ddl_model.DataValueField = "vehicleModel" ddl_model.DataTextField = "vehicleModel" ddl_model.DataSource = sqlds_vehicleModel ddl_model.DataBind() '********@ERROR HERE AS ABOVE: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control
End SubI am using RadPanelbar as menu item in my app. The PanelBar is getting created dynamically from the database. I would like to differentiate parent and child menu items. The following is what I would like to do. Please let me how I can get this functionality.
1) User should not be able to click on the Parent item.
2) Add 2 different icons to Parent and Child menu items.
The following is my code.
Public Sub BindPanelBar(ByVal ds As DataSet)
RadPanelBar1.DataTextField = "description"
RadPanelBar1.DataNavigateUrlField = ""
RadPanelBar1.DataFieldID = "id"
RadPanelBar1.DataFieldParentID = "PARENT_ID"
RadPanelBar1.DataValueField = "Code"
RadPanelBar1.DataSource = ds
RadPanelBar1.DataBind()
End Sub
Protected Sub RadPanelBar1_ItemDataBound(ByVal sender As Object, ByVal e As RadPanelBarEventArgs) Handles RadPanelBar1.ItemDataBound
Dim row As DataRowView = DirectCast(e.Item.DataItem, DataRowView)
e.Item.Enabled = [Boolean].Parse(row("enable_status").ToString())
e.Item.Expanded = True
e.Item.ToolTip = e.Item.Text
End Sub