Hi,
I have a simple page with two AJAX UpdatePanels. In the top panel I have a ThinkGeo Map and in the bottom panel I have an UltrWebGrid.
Selecting some features on the map populates a DataTable which is used as the Datasource for the Grid.
I group the Grid by the type of feature using:
protected void SelectionDetailsGrid_DataBound(object sender, EventArgs ){
if (col.Header.Caption.ToUpper() == "TERRITORY"){
col.IsGroupByColumn = true;}
}
All of this works fine on the first selection and the grid behaves as expected. However, on subsequent selections, the exception below is thrown. Just to be sure, I did apply the following code (based on suggestions of an earlier post) before rebinding my grid to the DataTable on subsequent selection.
gv.ResetBands()
gv.ResetRows()
gv.ResetColumns().
This made no difference and I still get this error.
System.InvalidOperationException was unhandled by user code Message="Failed to compare two elements in the array." Source="mscorlib" StackTrace: at eMap.MainApp.Map1_TrackShapeFinished1(Object sender, EventArgs e) in C:\DEV\T5\T5.eMap\Trunk\eMap\MainApp.aspx.cs:line 211 at ThinkGeo.MapSuite.WebEdition.Map.OnTrackShapeFinished() at ThinkGeo.MapSuite.WebEdition.Map.x3296715cc7992de2(String x055cc4f8164153bb) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) InnerException: System.NullReferenceException Message="Object reference not set to an instance of an object." Source="Infragistics35.WebUI.UltraWebGrid.v8.3" StackTrace: at Infragistics.WebUI.UltraWebGrid.UltraGridLayout.GroupByColumnComparer.Compare(Object x, Object y) at System.Array.BinarySearch(Array array, Int32 index, Int32 length, Object value, IComparer comparer) InnerException:
Hi Namibian,
Can you supply a code sample or create a case with Developer Support.
Magued
I am seeing this issue as well. We recently switched from Infragistics20.WebUI.UltraWebGrid.v8.2 to Infragistics35.WebUI.UltraWebGrid.v8.3 and that's the first time I saw the error (I checked back through recent changes in our code and nothing seems to be present other than the IG revision change).
As for a code snippet, previously, I had the following in an ajax clicked event
protected [click event from aspx](object sender, eventargs e) {
grid.Columns.Clear();grid.DataSource = GetDataSource();grid.DataBind(); <-- error points here (error attached at bottom)
where GetDataSource() performs a lookup and "filters" out columns based on the criteria related to the aspx click event.
I have subsequently tried adding the following prior to the datasource change with no success.
grid.ResetBands();grid.ResetColumns();grid.ResetRows();
We are using the OutlookGroupBy and its a rather customized grid. Any thoughts you might have would be greatly appreciated,
Adam
Error:
[NullReferenceException: Object reference not set to an instance of an object.] Infragistics.WebUI.UltraWebGrid.GroupByColumnComparer.Compare(Object x, Object y) +150 System.Array.BinarySearch(Array array, Int32 index, Int32 length, Object value, IComparer comparer) +215[InvalidOperationException: Failed to compare two elements in the array.] System.Array.BinarySearch(Array array, Int32 index, Int32 length, Object value, IComparer comparer) +276 System.Collections.SortedList.IndexOfKey(Object key) +28 System.Collections.SortedList.get_Item(Object key) +12 Infragistics.WebUI.UltraWebGrid.UltraGridLayout.RegisterGroupByColumn(UltraGridColumn groupedColumn) +23 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.GroupRows(RowsCollection rows, UltraGridColumn column) +263 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.SortGroupRows(RowsCollection rows) +330 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.PerformGroupRows() +216 Infragistics.WebUI.UltraWebGrid.DBBinding.BindList(IEnumerable datasource) +1336 Infragistics.WebUI.UltraWebGrid.DBBinding.DataBind(Object dataSource, String dataMember) +1089 Infragistics.WebUI.UltraWebGrid.UltraWebGrid.DataBind() +397