Hi,
I am getting this exception once a while when I am trying to change the cell value by calling SetCellValue from UltraDataRow object.
((UltraDataRow)arg.Cell.Row.ListObject).SetCellValue(arg.Cell.Column.Key, arg.Value);
This is how I set the DataSource:
MainGridDataSource source = new MainGridDataSource(columns, holdingList, "Main");BindingSource bindingSource = new BindingSource(source, null);this.ultraGrid1.SetDataBinding(bindingSource, null, false, false);
"Main" is the name of my top band.
Please help.. Thanks!
Jason Ching
Message: System.InvalidOperationException: BindingSource cannot be its own data source. Do not set the DataSource and DataMember properties to values that refer back to BindingSource. at System.Windows.Forms.BindingSource.get_Count() at Infragistics.Win.UltraWinGrid.RowsCollection.InternalGetListObjectForRow(UltraGridRow row) at Infragistics.Win.UltraWinGrid.RowsCollection.get_Data_List() at Infragistics.Win.UltraWinGrid.RowsCollection.get_ResolvedDataList() at Infragistics.Win.UltraWinGrid.RowsCollection.OnListChangedHelper(ListChangedEventArgs e, Boolean calledFromBandListChanged) at Infragistics.Win.UltraWinGrid.RowsCollection.OnListChanged(Object sender, ListChangedEventArgs e) at Infragistics.Win.UltraWinDataSource.UltraDataRowsCollection.FireBindingList_Helper(ListChangedType changeType, Int32 index, PropertyDescriptor propertyDescriptor) at Infragistics.Win.UltraWinDataSource.UltraDataRowsCollection.FireBindingList_ItemChanged(UltraDataRow row, UltraDataColumn column) at Infragistics.Win.UltraWinDataSource.UltraDataRow.SetCellValue(UltraDataColumn column, Object value, Boolean throwInvalidColumnException, Boolean fireCellUpdateEvents) at Infragistics.Win.UltraWinDataSource.UltraDataRow.SetCellValue(UltraDataColumn column, Object value, Boolean raiseCellUpdateEvents) at Infragistics.Win.UltraWinDataSource.UltraDataRow.SetCellValue(String columnKey, Object value, Boolean raiseCellUpdateEvents) at Infragistics.Win.UltraWinDataSource.UltraDataRow.SetCellValue(String columnKey, Object value)
Hi Jason,
That's a really weird error and I can't imagine why it's occurring. But the line of code you have here seems pretty convoluted. What event are you calling this in?
Anyway, this line of code starts with a cell and then jumps through all sorts of hoops to set the value on the same cell it started with. You could just as easily do this and it would be the same thing:
arg.Cell.Value = arg.Value;