Hi
I'd like to get an example of sorting multiple columns in a grid using C#.
Thanks
Kathy
Ah Sorry, i misread.
If you're not using a DataSourceHelper, then you're providing the data to the gridView manually. So all you have to do is sort the data yourself.
Basically, every cell that you create, you're controlling what data is presented. I'm assuming you're using an array in your custom DataSource. So just sort the array and use that to populate the grid.
Out of curiosity, is there a particular reason you're not using a DataSourceHelper?
-SteveZ
Hi Steve,
I am not using the DataSourceHelper, I am using a custom IGGridViewDataSource.
Hi Kathy,
WeakDataSource is just a property on the IGGridView.
So you'll just create your IGGridViewDataSourceHelper. Add your IGGridViewSortedColumn objects to the SortedColumns property on that datasource helper. And then set your IGGridView's WeakDataSource property to the instance of your dataSourceHelper.
_gridView = new IGGridView();
.... // Setup GridView
this.View.AddSubView(_gridView);
_dsh = new IGGridViewDataSourceHelper();
... // Setup Data
_dsh.SortedColumns.Add(// Add your SortedColumns objects like i previously demonstrated)
_dsh.Data = yourDataArray;
_gridView.WeakDataSource = _dsh;
Hope this helps,
I am not using the data source helper (I did see the information you are referring to in the documentation). Can you let me know how to add the sorted columns to a weakdatasource?
Sure, i'd be happy to help.
Assuming you're using an IGGridViewDataSourceHelper, you just need to create IGGridViewSortedColumn objects and assign them to your IGGridViewDataSourceHelper. like this:
dsh.SortedColumns.AddObjects(new NSObject[]{new IGGridViewSortedColumn ("firstName", IGGridViewSortedColumnDirection.IGGridViewSortedColumnDirectionAscending), new IGGridViewSortedColumn ("lastName", IGGridViewSortedColumnDirection.IGGridViewSortedColumnDirectionAscending)});
In the code above, all i'm doing is creating 2 new sorted column objects. The first is my firstName property and the second is my lastName property. The order you assign to the SortedColumns collection determines the order the sort is applied. So in this case firstName is sorted first and then lastName is a sub sort applied to objects that have the same firstName.
You can read more about this feature here:
http://help.infragistics.com/iOS/2013.2/?page=IGGridView_Sorting_Columns.html
And, if you're interested in learning how sorting in objective-c actually works, I wrote a blog on it not long ago.
http://es.infragistics.com/community/blogs/stevez/archive/2013/10/16/ios-objective-c-sorting-an-array.aspx