Exemple #1
0
        public void Set(int row, object value)
        {
            DType dt;

            ObjectConversion.Convert(ref value, out dt);
            Set(row, dt);
        }
Exemple #2
0
        /// <summary>
        /// Changes all values.
        /// </summary>
        public void Set(object value)
        {
            var numCol = value as NumericColumn;

            if (numCol is null)
            {
                var enumerable = value as IEnumerable;
                if (enumerable == null || value is string || value is DvText)
                {
                    DType dt;
                    ObjectConversion.Convert(ref value, out dt);
                    for (var row = 0; row < Length; ++row)
                    {
                        _data[row] = dt;
                    }
                }
                else
                {
                    DType[] dt;
                    ObjectConversion.Convert(ref value, out dt);
                    for (var row = 0; row < Length; ++row)
                    {
                        _data[row] = dt[row];
                    }
                }
            }
            else
            {
                var arr = numCol.Column as DataColumn <DType>;
                if (arr != null)
                {
                    DType[] dt = arr.Data;
                    for (var row = 0; row < Length; ++row)
                    {
                        _data[row] = dt[row];
                    }
                }
                else
                {
                    var t = typeof(DataColumn <DType>);
                    throw new DataValueError($"Column oof kind {numCol.Column.Kind} cannot be converted into {t}");
                }
            }
        }