<EventOn:EventManagerGridTemplateColumn DataField="StatusType" UniqueName="StatusType" InterfaceMessageType="EventManagerGridHeaderStatusType" SortExpression="StatusType"> <HeaderStyle Width="70px" /> <FilterTemplate> <EventOn:EventManagerTypeFilterDropDown ID="ddStatusType" runat="server" EnumType="StatusType" CssClass="FormDropDown" Width="70px" DataValueField="StatusType" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("StatusType").CurrentFilterValue %>' OnClientSelectedIndexChanged="StatusTypeIndexChanged"/> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function StatusTypeIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("StatusType", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> <ItemStyle Width="50px" HorizontalAlign="Left" VerticalAlign="Top"></ItemStyle> <ItemTemplate> <EventOn:EventManagerTypeIcon ID="EventOnTypeIcon3" runat="server" Value='<%# Eval("StatusType")%>'></EventOn:EventManagerTypeIcon> </ItemTemplate></EventOn:EventManagerGridTemplateColumn>Runtime-fout Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: Neither of the types 'String' and 'StatusType' converts to the otherfunction ProcessToolTipAction(action, ID) { if (action == "<%= GlobalConstants.CommandName.REQUESTINVITE %>") { var wnd = $find('<%=winInviteSelf.ClientID %>'); wnd.add_close(function (sender, e) { var args = e.get_argument(); if (IsDialogResultOK(args)) { AjaxRequestObject = GetAjaxRequestObject(action, "<%=this.GetType().ToString()%>"); AjaxRequestObject.AppointmentId = ID; AjaxRequestObject.HideInvite = args.HideInvite; AjaxRequestObject.SpecialNotes = args.SpecialNotes; AjaxRequestJson(AjaxRequestObject); } }); wnd.show(); } }HtmlGenericControl contentDiv = new HtmlGenericControl("div");contentDiv.Style.Add("width", "100%");contentDiv.Style.Add("height", "100%");RadPane pane2 = new RadPane();pane2.ID = "Pane2";pane2.Height = new Unit(100, UnitType.Percentage);pane2.Width = new Unit(100, UnitType.Percentage);pane2.Controls.Add(contentDiv);<div id="RAD_SPLITTER_PANE_CONTENT_Pane2" style="overflow-x: auto; overflow-y: auto; height: 598px; width: 1210px; "><div id="ContentPanel1Panel" style="display: block; "><div id="ContentPanel1" style="width:100%;height:100%;"></div><EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditCommandColumn1"> </EditColumn> <FormTemplate> <asp:Panel ID="pnlZForm" runat="server"> <div id="divZEdit"> <asp:Label ID="lblMerchantCode" Width="150px" runat="server" Text="Merchant Code:" /> <telerik:RadTextBox ID="rtxtMerchantCode" Runat="server" Width="150px" /> <br /> <asp:Label ID="lblAccountName" Width="150px" runat="server" Text="Account Name:" /> <telerik:RadTextBox ID="rtxtAccountName" Runat="server" Width="150px" /> <br /> <asp:Label ID="lblSharedSecret" Width="150px" runat="server" Text="Shared Secret:" /> <telerik:RadTextBox ID="rtxtSharedSecret" Runat="server" Width="150px" /> <br /> <telerik:RadButton ID="btnUpdate" runat="server" Text="Update" /> <telerik:RadButton ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" /> </div> </asp:Panel> </FormTemplate> </EditFormSettings>Private Sub rgdNewRadGrid_DetailTableDataBind(ByVal source As Object, ByVal e As GridDetailTableDataBindEventArgs) Handles rgdNewRadGrid.DetailTableDataBind Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) Select Case e.DetailTableView.Name Case "myDetailTable" Dim myTrackingGUID As Guid = New Guid(dataItem.Item("MerchantTrackingGUID").Text) Dim myDataSet As New DataSet '===Get the DetailTable data=== myDataSet = *get dataset from database* e.DetailTableView.DataSource = myDataSet e.DetailTableView.CommandItemDisplay = GridCommandItemDisplay.Top e.DetailTableView.CommandItemSettings.AddNewRecordImageUrl = "../Img/AddRecord.gif" e.DetailTableView.CommandItemSettings.AddNewRecordText = "Add New Details" e.DetailTableView.CommandItemSettings.ShowRefreshButton = False e.DetailTableView.EditFormSettings.EditFormType = GridEditFormType.Template e.DetailTableView.EditFormSettings.FormTemplate = LoadTemplate("Templates/myNewAdd.ascx") End SelectEnd Sub<%@ Control Language="VB" ClassName="myNewAdd" %> <asp:Panel ID="pnlNewForm" runat="server"> <div id="divNewEdit"> <asp:Label ID="lblTerminalUserGroupID" Width="150px" runat="server" Text="TerminalUserGroupID:" /> <telerik:RadComboBox ID="rcbxTerminalUserGroupID" Width="200px" runat="server" /> <br /> <telerik:RadButton ID="btnDetailUpdate" runat="server" Text="Update" /> <telerik:RadButton ID="btnDetailCancel" runat="server" Text="Cancel" CommandName="Cancel" /> </div> </asp:Panel>Protected Sub rgdNewRadGrid_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgdNewRadGrid.ItemDataBound If e.Item.IsInEditMode AndAlso e.Item.OwnerTableView.Name = "myDetailTable" Then Dim editItem As GridEditFormItem = e.Item Dim rcbxTerminalUserGroupID As RadComboBox = editItem.FindControl("rcbxTerminalUserGroupID") Dim myDataSet As Data.DataSet myDataSet = *get data from database* For Each row As DataRow In myDataSet.Tables(0).Rows Dim myItem As New RadComboBoxItem myItem.Text = row.Item("NAME").ToString If Not rcbxTerminalUserGroupID Is Nothing Then rcbxTerminalUserGroupID.Items.Add(myItem) End If Next End IfEnd Sub
Hi,
I have a page with the radgrid ,which is coded as below:
<telerik:RadGrid ID="rgSchool" ShowGroupPanel="false" ShowStatusBar="true" AllowCustomPaging="true"
RegisterWithScriptManager="true" runat="server" AutoGenerateColumns="False" AllowSorting="True"
GridLines="Vertical" OnSortCommand=" rgSchool _SortCommand" AllowMultiRowSelection="False"
AllowPaging="True" Skin="Vista" OnNeedDataSource=" rgSchool _NeedDataSource"
OnPageIndexChanged=" rgSchool _PageIndexChanged" OnPageSizeChanged=" rgSchool _PageSizeChanged"
OnItemDataBound=" rgSchool _ItemDataBound" OnGroupsChanging=" rgSchool _GroupChanging"
OnColumnHiding=" rgSchool _ColumnHidden">
<SortingSettings EnableSkinSortStyles="false" />
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true"></PagerStyle>
<MasterTableView Width="100%" DataKeyNames="SerialNumber, StudId,Status" ClientDataKeyNames="SerialNumber, StudId,Status"
AllowMultiColumnSorting="false" EnableHeaderContextMenu="true" AutoGenerateColumns="false"
TableLayout="auto">
<Columns>
<telerik:GridBoundColumn DataField="DateJoin" HeaderText="Date Of Joining" SortExpression="DateReceived"
Visible="true" DataFormatString="{0:MM/dd/yyyy}" />
<telerik:GridBoundColumn DataField="SerialNumber" HeaderText="Serial #" SortExpression="SerialNumber"
Visible="true" DataFormatString="{0:N0}" />
<telerik:GridBoundColumn DataField=" StudId " HeaderText="Student ID #" SortExpression=" StudId "
Visible="true" />
<telerik:GridBoundColumn DataField="Status" HeaderText="Status" SortExpression="Status"
Visible="true" />
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true" EnableRowHoverStyle="true">
<Scrolling AllowScroll="false" SaveScrollPosition="true" UseStaticHeaders="true" />
<Resizing AllowColumnResize="true" EnableRealTimeResize="false" ResizeGridOnColumnResize="false"
ClipCellContentOnResize="false" AllowResizeToFit="true" />
<Selecting AllowRowSelect="true" />
<ClientEvents OnRowDblClick="RowDblClick" OnRowSelected="RowSelected" OnRowContextMenu="onRowContextMenu"
OnColumnHidden=" rgSchoolColumnHidden" OnColumnShown=" rgSchoolColumnShown" />
</ClientSettings>
<HeaderContextMenu EnableScreenBoundaryDetection="true" EnableAutoScroll="true" />
</telerik:RadGrid>
So,the users can sort,Hide,Group the columns.The sorting of the column will be done in the SP itself,based on the column(header selected).So,From the SP though get the correctly sorted data(i.e., though the DataSource is updated correctly),the grid is not STILL NOT showing the correctly sorted data.Please find the related server side code below :
protected void rgSchool_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
try
{
ViewState["CurrentPageIndex"] = rgSchool.CurrentPageIndex + 1;
//Getting the sorted,......data through SP.and storing in response object.
IEnumerable<rgSchoolReadRecord> response = WCFObj.Read(out recordCount, request);
rgSchool.DataSource = null;
rgSchool.DataSource = response;//DataSorce is updating correctly
rgSchool.VirtualItemCount = recordCount;
rgSchool.CurrentPageIndex = request.PageIndex - 1;
WCFObj.Close();
//Set the current paging and sorting in View state
ViewState["CurrentPageIndex"] = request.PageIndex;
ViewState["PageSize"] = request.PageSize;
ViewState["CurrentSort"] = request.OrderBy;
ViewState["SortDescending"] = request.Desc;
ViewState["rgSchoolSearchRequestObjet"] = request;
ViewState["recordCount"] = recordCount;
}}