public void SetValue <T>(string columnId, int rowIndex, T value) { var update = new BatchedColumnUpdate <T> { ColumnId = columnId, Value = value, RowIndex = rowIndex }; lock (_shared) { ITypedTableColumnUpdater <T> updater; var type = typeof(T); if (!_columnUpdaters.ContainsKey(type)) { updater = _onlyKeepLastValue ? CreateNormalColumnUpdaterLastValue <T>() : CreateNormalColumnUpdater <T>(); _columnUpdaters.Add(type, updater); } else { updater = (ITypedTableColumnUpdater <T>)_columnUpdaters[type]; } updater.Add(update); } }
public void Add(BatchedColumnUpdate <T> update) { _updatesByRow[update.RowIndex] = update; }
public void Add(BatchedColumnUpdate <T> update) { _updates.Enqueue(update); }