<telerik:GridTemplateColumn UniqueName="gridActStart" HeaderText="Actual Start" AllowFiltering="false" ItemStyle-HorizontalAlign="Center"><br>
<ItemTemplate><br>
<telerik:RadDatePicker ID="actstart" runat="server" MaxDate='<%#If((Eval("early_start_display") IsNot DBNull.Value), Convert.ToDateTime(Eval("early_start_display")), CType("10/10/2011", System.Nullable(Of DateTime))) %>' Width="100px" Calendar-ShowOtherMonthsDays="false" Calendar-ShowRowHeaders="false" DbSelectedDate='<%# Bind("actual_start") %>' DateInput-DateFormat="MM/dd/yyyy">
</telerik:RadDatePicker><br>
</ItemTemplate><br>
</telerik:GridTemplateColumn><table id="tblEditPopup" style="width:100%; height:100%"> <tr id="trProduct"> <td align="right"> Select Product: </td> <td> <telerik:RadComboBox ID="cboxCustomers" runat="server" AutoPostBack="true" > <Items> <telerik:RadComboBoxItem Text="Select Product" /> <telerik:RadComboBoxItem Text="Apple" Value="Apple" /> <telerik:RadComboBoxItem Text="Bananas" Value="Bananas" /> </Items> </telerik:RadComboBox> </td> </tr> <tr id="trService" style="display:none" > <td align="right"> Select Service: </td> <td> <telerik:RadComboBox ID="cboxServices" runat="server" AutoPostBack="true" > <Items> <telerik:RadComboBoxItem Text="Select Service" /> <telerik:RadComboBoxItem Text="Deliver Home" Value="Delivery" /> <telerik:RadComboBoxItem Text="Order By Mail" Value="Mail" /> </Items> <telerik:RadComboBox> </td> </tr>
<tr>
<td>
<button id="BtnService" onclick="toggle()" >Choose Service</button>
</td>
</tr>
</table> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function toggle() { $('#trProduct').css('display', 'none'); $('#trService').css('display', 'block'); } </script> </telerik:RadCodeBlock>
An unhandled exception was generated during the execution of the current
web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
|
|
Hi,
I have a grid like following.....I have given only 1 column but there are 10 similar columns which comes from DB..similar in the sense it is rendered similar way this one column is shown below.
ASPX page.
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
<telerik:RadGrid ID="RadGrid1" runat="server" AllowSorting="true" Width="1080px" AutoGenerateColumns="false" GridLines="Both" Skin="XYZ" EnableEmbeddedSkins="false">
<MasterTableView Width="1063px" TableLayout="Fixed" ItemStyle-Font-Names="Arial" ItemStyle-Font-Size="11px" AlternatingItemStyle-Font-Size="11px" AlternatingItemStyle-Font-Names="Arial" HeaderStyle-Font-Names="Arial" HeaderStyle-Font-Size="11px" CommandItemDisplay="None">
<Columns>
<telerik:GridTemplateColumn HeaderText="Name" HeaderStyle-HorizontalAlign="Center" HeaderStyle-CssClass="rgcItemName" ItemStyle-CssClass="rgcItemName">
<ItemTemplate> <%#Container.DataItem("name").ToString%> </ItemTemplate> </telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings><Scrolling AllowScroll="true" UseStaticHeaders="true" /></ClientSettings>
</telerik:RadGrid>
</telerik:RadAjaxPanel>
VB Page
Protected Sub RadGrid1_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
GetData()
End Sub
Protected
Function GetData() As Object
Dim table2 As New DataTable()
Dim XYZSql As String
XYZSql = ""
Dim XYZComm As New OracleCommand
Dim XYZConn As New OracleConnection(SQLConnStr)
Dim adapter As OracleDataAdapter = New OracleDataAdapter
adapter.SelectCommand =
New OracleCommand(XYZSql, XYZConn)
XYZConn.Open()
Try
adapter.Fill(table2)
RadGrid1.DataSource = table2
Catch ex As Exception
---
Finally
XYZConn.Close()
XYZConn.Dispose()
OracleConnection.ClearPool(XYZConn)
End Try
Return table2
End Function
On my Page Init Event all i am doing is RadGrid1.DataSource = Nothing like below code snippet shows. I am not calling Radgrid.ReBind(). But the Data still rebinds.
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
RadGrid1.DataSource = Nothing
End
Sub
WORKING CASE: Everything works fine so far...grid binds and sorts perfectly......
HOWEVER CASE: If i put Radgrid1.Rebind() after RadGrid1.DataSource = Nothing my grid does not sort in proper manner. If try to sort Col 1, col 3 sorts or col 2 sorts. I have no sorting event other than AllowSorting=True in the aspx page. I absolutely dont have any columns to not be visible. Why Does it not sort well if i have Rebind() method called in Page Init.
I happen to read this topic in the link given below.....
http://www.telerik.com/help/aspnet/grid/grdcommandsthatinvokerebindimplicitly.html
Does NeedDataSource implicitly call Rebind method and sort the grid in WORKING CASE. Where does it store the data and binds it to the grid every time i sort the grid. Does it store in Hard Disc memory? If you are going to give me a link for sorting will it have an answer to the Question i just asked about where does it store the data to bind the grid again and again for each sorting. WORKING CASE does not have a direct call to Rebind.
In my HOWEVER CASE I am making an explicit call to Rebind(). Is it messing up the automatic sorting and the grid does not sort well?
References for Radgrid in Master page looks like.....
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
</telerik:RadAjaxManager>
Your answer will help me greatly
Vidya
gridHeader.childNodes[i].id is null so it fails on ".indexOf". function BulkOperationRadGrid_GridCreated(sender, eventArgs) { var masterTable = sender.get_masterTableView(); //check whether all items on the active page are selected if (masterTable.get_selectedItems().length == masterTable.get_pageSize()) { /*find the checkbox in the header of the GridClientSelectColumn and set checked state for it - will work with AllowMultiRowSelection = true only!*/ var gridHeader = masterTable.get_element().getElementsByTagName("TH")[0]; for (var i = 0; i < gridHeader.childNodes.length; i++) { if (gridHeader.childNodes[i].id.indexOf("columnSelectCheckBox") > -1) { gridHeader.childNodes[i].checked = "true"; } } }Imports Telerik.Web.UIImports System.Web.UI.WebControlsPartial Class DockClientDataBoundRadGrid Inherits System.Web.UI.Page Private _DockDataTable As System.Data.DataTable Protected Sub RadDockLayout1_LoadDockLayout(ByVal sender As Object, ByVal e As Telerik.Web.UI.DockLayoutEventArgs) Handles RadDockLayout1.LoadDockLayout Dim zones(1) As RadDockZone Dim zone As RadDockZone For i As Integer = 0 To zones.Length - 1 zone = New RadDockZone zone.Orientation = Orientation.Vertical zone.ID = "RadDockZone" & i zones(i) = zone Next RadDockLayout1.Controls.Add(CreateDockContainer(zones)) For Each zone In zones RadAjaxManager1.AjaxSettings.AddAjaxSetting(zone, zone) Next Dim docks(DockDataTable.Rows.Count - 1) As RadDock Dim dock As RadDock Dim rowCount As Integer = 0 For Each row As System.Data.DataRow In DockDataTable.Rows dock = New RadDock dock.AutoPostBack = True dock.DockMode = DockMode.Docked dock.UniqueName = "dock-" & rowCount dock.Title = row.Item("title") Dim _RadGrid As RadGrid = CreateRadGrid("RadGrid-" & rowCount) dock.ContentContainer.Controls.Add(_RadGrid) RadDockLayout1.Controls.Add(dock) docks(rowCount) = dock rowCount += 1 RadAjaxManager1.AjaxSettings.AddAjaxSetting(dock.ContentContainer, dock.ContentContainer) Next Dim lastZoneId As Integer = 0 For Each dock In docks If zones.Length <= lastZoneId Then lastZoneId = 0 zone = zones(lastZoneId) e.Indices(dock.UniqueName) = zone.Docks.Count e.Positions(dock.UniqueName) = zone.ID lastZoneId += 1 Next End Sub Private Function CreateRadGrid(ByVal ControlID As String) As RadGrid Dim _RadGrid As New RadGrid _RadGrid.ID = ControlID _RadGrid.ClientSettings.ClientEvents.OnCommand = "RadGrid1_DataBinding" _RadGrid.ClientSettings.DataBinding.Location = "~/DockClientDataBoundRadGrid.aspx" _RadGrid.ClientSettings.DataBinding.SelectMethod = "GetData" _RadGrid.ClientSettings.DataBinding.SelectCountMethod = "GetDataCount" _RadGrid.ClientSettings.DataBinding.StartRowIndexParameterName = "startRowIndex" _RadGrid.ClientSettings.DataBinding.MaximumRowsParameterName = "maxRows" _RadGrid.ClientSettings.DataBinding.EnableCaching = True _RadGrid.PageSize = 10 Dim c1 As New GridBoundColumn c1.HeaderText = "Name" c1.SortExpression = "Name" c1.DataField = "Name" c1.UniqueName = "Name" c1.DataType = System.Type.GetType("System.String") _RadGrid.MasterTableView.Columns.Add(c1) Return _RadGrid End Function Protected Function CreateDockContainer(ByRef zones As Telerik.Web.UI.RadDockZone()) As System.Web.UI.WebControls.WebControl Dim tbl As System.Web.UI.WebControls.Table = New System.Web.UI.WebControls.Table tbl.ID = "tblDockContainer" tbl.Style.Add("width", "100%") Dim row As System.Web.UI.WebControls.TableRow = New System.Web.UI.WebControls.TableRow Dim cell As System.Web.UI.WebControls.TableCell tbl.Rows.Add(row) Dim colSize As String = Math.Floor(100 / zones.Length).ToString() & "%" For Each zone As Telerik.Web.UI.RadDockZone In zones cell = New System.Web.UI.WebControls.TableCell cell.VerticalAlign = VerticalAlign.Top cell.Controls.Add(zone) cell.Style.Add("width", colSize) row.Cells.Add(cell) Next Return tbl End Function Protected ReadOnly Property DockDataTable() As System.Data.DataTable Get If _DockDataTable Is Nothing Then _DockDataTable = New System.Data.DataTable _DockDataTable.Columns.Add(New System.Data.DataColumn("title", System.Type.GetType("System.String"))) Dim row As System.Data.DataRow For i As Integer = 0 To 5 row = _DockDataTable.NewRow row("title") = "Dock Title " & i _DockDataTable.Rows.Add(row) Next _DockDataTable.AcceptChanges() End If Return _DockDataTable End Get End Property <System.Web.Services.WebMethod()> _ Public Shared Function GetData(ByVal startRowIndex As Integer, ByVal maxRows As Integer) As IEnumerable Dim list As New Generic.List(Of Entity) For i As Integer = startRowIndex To maxRows Dim e As New Entity e.Name = "Entity " & i list.Add(e) Next Return list End Function <System.Web.Services.WebMethod()> _ Public Shared Function GetDataCount() As Integer Return 51 End Function Public Class Entity Public Name As String End ClassEnd Class<%@ Page Language="VB" AutoEventWireup="false" CodeFile="DockClientDataBoundRadGrid.aspx.vb" Inherits="DockClientDataBoundRadGrid" %><%@ 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></head><body><form id="form1" runat="server"><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"></telerik:RadAjaxManager><telerik:RadDockLayout ID="RadDockLayout1" runat="server"></telerik:RadDockLayout><telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function RadGrid1_DataBinding(sender, args) {} </script></telerik:RadScriptBlock></form></body></html>