Hi to all,
I have a grid binded with data. The data has some foreign key feilds too. For some F.K fields sorting is working fine and for some its giving this error:
Server Error in '/' Application.
Exception Details: System.ArgumentException: Room is neither a DataColumn nor a DataRelation for table Categories.
Source Error:
Stack Trace:
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
I dont know what is the problem in it. Here is my code:
code behind:
Please assist me....
thanks Rohan
I have a grid binded with data. The data has some foreign key feilds too. For some F.K fields sorting is working fine and for some its giving this error:
Server Error in '/' Application.
Room is neither a DataColumn nor a DataRelation for table Categories.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.ArgumentException: Room is neither a DataColumn nor a DataRelation for table Categories.
Source Error:
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.
|
Stack Trace:
[ArgumentException: Room is neither a DataColumn nor a DataRelation for table Categories.] System.Data.DataRowView.get_Item(String property) +1789622 lambda_method(Closure , DataRowView ) +41 System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count) +88 System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count) +21 System.Linq.<GetEnumerator>d__0.MoveNext() +153 System.Linq.Enumerable.Count(IEnumerable`1 source) +201 lambda_method(Closure ) +315 System.Linq.EnumerableExecutor`1.Execute() +94 System.Linq.EnumerableExecutor`1.ExecuteBoxed() +23 System.Linq.EnumerableQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +94 Telerik.Web.UI.GridDynamicQueryable.Count(IQueryable source) +296 Telerik.Web.UI.GridDataTableFromEnumerable.FillData35() +4333 Telerik.Web.UI.GridDataTableFromEnumerable.FillData() +1064 Telerik.Web.UI.GridResolveEnumerable.Initialize() +58 Telerik.Web.UI.GridResolveEnumerable.EnsureInitialized() +45 Telerik.Web.UI.GridResolveEnumerable.get_DataTable() +31 Telerik.Web.UI.GridEnumerableFromDataView..ctor(GridTableView owner, DataView dataView, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields) +222 Telerik.Web.UI.GridDataSourceHelper.CreateGridEnumerable(GridTableView owner, IEnumerable enumerable, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields) +97 Telerik.Web.UI.GridDataSourceHelper.GetResolvedDataSource(GridTableView owner, Object dataSource, String dataMember, Boolean caseSensitive, Boolean autoGenerateColumns, GridColumnCollection presentColumns, String[] additionalField, Boolean retrieveAllFields) +165 Telerik.Web.UI.GridTableView.get_ResolvedDataSource() +225 Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +73 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +66 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +128 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +33 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143 Telerik.Web.UI.GridTableView.PerformSelect() +38 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74 Telerik.Web.UI.GridTableView.DataBind() +367 Telerik.Web.UI.GridSortCommandEventArgs.ExecuteCommand(Object source) +318 Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +200 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +61 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 Telerik.Web.UI.GridItem.OnBubbleEvent(Object source, EventArgs e) +170 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +125 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +169 System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563 |
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
I dont know what is the problem in it. Here is my code:
<telerik:RadGrid ID="grvUsers" runat="server" Skin="Sunset" GridLines="None" AllowPaging="True" PageSize="20" AllowSorting="True" Width="90%" OnItemCommand="grvUsers_ItemCommand" OnNeedDataSource="grvUsers_NeedDataSource" OnColumnCreated="grvUsers_ColumnCreated"> <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> <ItemStyle Height="30px" /> <AlternatingItemStyle Height="30px" /> <HeaderStyle Font-Bold="true" /> <CommandItemStyle Height="30px" VerticalAlign="Middle" /> <MasterTableView DataKeyNames="Id" CommandItemDisplay="Bottom"> <Columns> <telerik:GridTemplateColumn HeaderText="Action"> <ItemStyle Width="50px" /> <ItemTemplate> <asp:ImageButton ID="lnkEdit" runat="server" CommandName="Modify" AlternateText="Edit" ToolTip="Edit" ImageUrl="~/Content/Images/Buttons/edit_icon.png" CommandArgument='<%# Eval("Id") %>' /> <asp:ImageButton ID="lnkDelete" runat="server" AlternateText="Remove" ToolTip="Remove" ImageUrl="~/Content/Images/Buttons/remove_icon.png" OnClientClick="return confirm('Are you sure you want to delete?')" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <CommandItemTemplate> <asp:ImageButton ID="lnkAdd" runat="server" CommandName="Add" ImageUrl="~/Content/Images/Buttons/add_new_user_bttn.png"> <%--<img style="border:0px" alt="" src="../Content/Images/AddRecord.GIF" />Add New User--%> </asp:ImageButton> </CommandItemTemplate> </MasterTableView> </telerik:RadGrid>code behind:
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindData(); } } private void BindData() { DataTable Users; using (UsersServiceClient s = new UsersServiceClient()) { Users = s.GetUserTable(); } grvUsers.DataSource = Users; grvUsers.DataBind(); } protected void grvUsers_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { DataTable Users; using (UsersServiceClient s = new UsersServiceClient()) { Users = s.GetUserTable(); } grvUsers.DataSource = Users; } protected void grvUsers_ColumnCreated(object sender, GridColumnCreatedEventArgs e) { if (e.Column.UniqueName == "id") { e.Column.Visible = false; } }Please assist me....
thanks Rohan