This is a migrated thread and some comments may be shown as answers.

Sorting problem "Column Not found"

1 Answer 248 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Dennis Riis
Top achievements
Rank 1
Dennis Riis asked on 05 Nov 2009, 11:12 AM
I am binding the RADGrid to a collection of business objects. These business objects implement an interface, that inherits another interface.

When I am trying to sort (or do any other operation) on a column bound to a property, that only exists on the base interface, I get this exception:
[IndexOutOfRangeException: Cannot find column ItemNumber.] 
   System.Data.DataTable.ParseSortString(String sortString) +4826462 
   System.Data.DataView.CheckSort(String sort) +32 
   System.Data.DataView.set_Sort(String value) +128 
   Telerik.Web.UI.GridEnumerableFromDataView.PerformTransformation() +5028 
   Telerik.Web.UI.GridEnumerableFromDataView.TransformEnumerable() +41 
   Telerik.Web.UI.GridTableView.GetEnumerator(Boolean useDataSource, GridEnumerableBase resolvedDataSource, ArrayList dataKeysArray) +171 
   Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +861 
   Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +786 
   System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +57 
   System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +114 
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +31 
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142 
   Telerik.Web.UI.GridTableView.PerformSelect() +28 
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 
   Telerik.Web.UI.GridTableView.DataBind() +354 
   Telerik.Web.UI.GridSortCommandEventArgs.ExecuteCommand(Object source) +326 
   Telerik.Web.UI.RadGrid.OnBubbleEvent(Object source, EventArgs e) +191 
   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) +165 
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118 
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135 
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 
How do I get around this issue ?

This issue arises if I try to bind to IItemInterface instances and sort on the ItemNumber column, where IItemInterface is declared as follows:

    public class Item : IItemInterface 
    { 
        public string Name { getset; } 
        public string ItemNumber { getset; } 
    } 
 
    public interface IBase 
    { 
        string ItemNumber { getset; } 
    } 
 
    public interface IItemInterface : IBase 
    { 
        string Name { getset; } 
    } 

Thanks for your help,
/Dennis Riis

1 Answer, 1 is accepted

Sort by
0
Nikita Gourme
Top achievements
Rank 1
answered on 10 Nov 2009, 05:02 PM
Did you get the error when you assign the same collection as data source for plain MS GridView?This can be a good reference point whether the exception is raised from Telerik code base or is due to the ASP.NET binding logic in general. Keep me updated, I will try to assist you address it.

Nikita
Tags
Grid
Asked by
Dennis Riis
Top achievements
Rank 1
Answers by
Nikita Gourme
Top achievements
Rank 1
Share this question
or