Наследование: IBoundDataColumn
 public void TestParse_NoFormatString_ParsesGenerically()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     DateTime actual = (DateTime)column.Parse("1/19/2013");
     DateTime expected = new DateTime(2013, 1, 19);
     Assert.AreEqual(expected, actual, "The value was not parsed as expected.");
 }
Пример #2
0
 public DateTimePropertyMapping(DateTimeColumn column, IMemberAccessor member, int fileIndex, int workIndex)
 {
     this.column    = column;
     this.member    = member;
     this.FileIndex = fileIndex;
     this.WorkIndex = workIndex;
 }
Пример #3
0
        /// <summary>
        /// Sets the initial value of the editor based on the contents of
        /// the Cell being edited
        /// </summary>
        protected override void SetEditValue()
        {
            // set default values incase we can't find what we're looking for
            DateTime date   = DateTime.Now;
            String   format = DateTimeColumn.LongDateFormat;

            if (this.EditingCell.Data != null && this.EditingCell.Data is DateTime)
            {
                date = (DateTime)this.EditingCell.Data;

                if (this.EditingTable.ColumnModel.Columns[this.EditingCellPos.Column] is DateTimeColumn)
                {
                    DateTimeColumn dtCol = (DateTimeColumn)this.EditingTable.ColumnModel.Columns[this.EditingCellPos.Column];

                    switch (dtCol.DateTimeFormat)
                    {
                    case DateTimePickerFormat.Short:
                        format = DateTimeColumn.ShortDateFormat;
                        break;

                    case DateTimePickerFormat.Time:
                        format = DateTimeColumn.TimeFormat;
                        break;

                    case DateTimePickerFormat.Custom:
                        format = dtCol.CustomDateTimeFormat;
                        break;
                    }
                }
            }

            this.calendar.SelectionStart = date;
            this.TextBox.Text            = date.ToString(format);
        }
Пример #4
0
        /// <summary>
        /// Creates a column model for a report
        /// </summary>
        /// <param name="fields">The visible columns</param>
        public static ColumnModel CreateColumnModel(ReportFields fields)
        {
            ImageColumn    reportTypeImageColumn   = CreateImageColumn(string.Empty, 20, "");
            ImageColumn    reportStatusImageColumn = CreateImageColumn(string.Empty, 20, "");
            TextColumn     reportVillageColumn     = CreateTextColumn("Village", 50);
            TextColumn     reportPlayerColumn      = CreateTextColumn("Player", 100);
            DateTimeColumn reportDateColumn        = CreateDateTimeColumn("Date", 70);
            ImageColumn    reportFlagImageColumn   = CreateImageColumn(string.Empty, 20, "");

            reportTypeImageColumn.Visible   = (fields & ReportFields.Type) != 0;
            reportStatusImageColumn.Visible = (fields & ReportFields.Status) != 0;
            reportVillageColumn.Visible     = (fields & ReportFields.Village) != 0;
            reportPlayerColumn.Visible      = (fields & ReportFields.Player) != 0;
            reportDateColumn.Visible        = (fields & ReportFields.Date) != 0;
            reportFlagImageColumn.Visible   = (fields & ReportFields.Flag) != 0;

            return(new ColumnModel(new Column[] {
                reportTypeImageColumn,
                reportStatusImageColumn,
                reportVillageColumn,
                reportPlayerColumn,
                reportDateColumn,
                reportFlagImageColumn
            }));
        }
Пример #5
0
        private void DoFiltering()
        {
            Table table = this.table;       // The Table control on a form - already initialised

            table.Clear();
            table.BeginUpdate();
            table.EnableWordWrap = true;    // If false, then Cell.WordWrap is ignored
            table.EnableFilters  = true;

            NumberColumn col0 = new NumberColumn("#", 20);
            NumberColumn col1 = new NumberColumn("Height", 50);
            TextColumn   col2 = new TextColumn("Name", 80);

            col2.Filterable = true;
            TextColumn     col3 = new TextColumn("Surname", 80);
            DateTimeColumn col4 = new DateTimeColumn("Birthday", 120);
            TextColumn     col5 = new TextColumn("Comments", 100);

            table.ColumnModel = new ColumnModel(new Column[] { col0, col1, col2, col3, col4, col5 });

            TableModel model = new TableModel();

            AddRow(model, 1, 1.52, "Mark", "Hobbs", "23/1/1978", "likes apples");
            AddRow(model, 2, 1.76, "Dave", "Duke", "2/5/1977", "keeps fish");
            AddRow(model, 3, 1.64, "Holly", "Prench", "14/8/1979", "singer");
            AddRow(model, 4, 1.53, "Mark", "Hobbs", "23/1/1984", "plays football");
            AddRow(model, 5, 1.64, "Dave", "Hobbs", "19/1/1980", "vegetarian");

            this.table.TableModel = model;

            this.table.EndUpdate();
        }
Пример #6
0
 public DateTimePropertyMapping(DateTimeColumn column, IMemberAccessor member, int physicalIndex, int logicalIndex)
 {
     this.column   = column;
     Member        = member;
     PhysicalIndex = physicalIndex;
     LogicalIndex  = logicalIndex;
 }
Пример #7
0
        public void Parse_ReturnsCorrectDateTime()
        {
            const string value = "20201210 17:47:09";

            var parsedValue = new DateTimeColumn("yyyyMMdd HH:mm:ss").Parse(value);

            Assert.AreEqual(new DateTime(2020, 12, 10, 17, 47, 09), parsedValue);
        }
Пример #8
0
        public void TestParse_ValueBlank_NullReturned()
        {
            DateTimeColumn column   = new DateTimeColumn("created");
            DateTime?      actual   = (DateTime?)column.Parse("    ");
            DateTime?      expected = null;

            Assert.AreEqual(expected, actual);
        }
Пример #9
0
        public void TestParse_NoFormatString_ParsesGenerically()
        {
            DateTimeColumn column   = new DateTimeColumn("created");
            DateTime       actual   = (DateTime)column.Parse("1/19/2013");
            DateTime       expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual);
        }
Пример #10
0
        public DateTimeColumn AddDateTimeColumn(string MemberName, string StyleClass = "")
        {
            DateTimeColumn Column = new DateTimeColumn(this);

            Column.ID         = MemberName;
            Column.StyleClass = StyleClass;
            return((DateTimeColumn)this.Add(Column));
        }
Пример #11
0
 public void TestParse_FormatString_ParsesExactly()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     column.InputFormat = "d";
     DateTime actual = (DateTime)column.Parse("1/19/2013");
     DateTime expected = new DateTime(2013, 1, 19);
     Assert.Equal(expected, actual);
 }
Пример #12
0
 public void TestParse_FormatProvider_NoFormatString_ParsesGenerically()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     column.FormatProvider = CultureInfo.CurrentCulture;
     DateTime actual = (DateTime)column.Parse("1/19/2013");
     DateTime expected = new DateTime(2013, 1, 19);
     Assert.Equal(expected, actual);
 }
Пример #13
0
        public void Parse_ReturnsCorrectDate()
        {
            const string value = "20180807";

            var parsedValue = new DateTimeColumn("yyyyMMdd").Parse(value);

            Assert.AreEqual(new DateTime(2018, 08, 07), parsedValue);
        }
Пример #14
0
 public MaxDateTime(DateTimeColumn column)
 {
     if (object.Equals(null, column))
     {
         throw new NullReferenceException("column cannot be null");
     }
     this.mColumn = column;
 }
 public void TestParse_FormatProvider_FormatString_ParsesExactly()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     column.InputFormat = "d";
     column.FormatProvider = CultureInfo.CurrentCulture;
     DateTime actual = (DateTime)column.Parse("1/19/2013");
     DateTime expected = new DateTime(2013, 1, 19);
     Assert.AreEqual(expected, actual, "The value was not parsed as expected.");
 }
Пример #16
0
 public DateFunction(DateTimeColumn column, DatePart pDatePart)
 {
     if (object.Equals(null, column))
     {
         throw new NullReferenceException("column cannot be null");
     }
     this.mColumn   = column;
     this.mDatePart = pDatePart;
 }
Пример #17
0
        public void TestParse_FormatString_ParsesExactly()
        {
            DateTimeColumn column = new DateTimeColumn("created");

            column.DateTimeFormat = "d";
            DateTime actual   = (DateTime)column.Parse("1/19/2013");
            DateTime expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual, "The value was not parsed as expected.");
        }
Пример #18
0
        public void CtorWithoutFormatBuildsAValidInstance(DateTime columnValue)
        {
            // Act
            DateTimeColumn dc = new DateTimeColumn(columnValue);

            // Assert
            dc.Alias.Should().BeNull();
            dc.Value.Should().Be(columnValue);
            dc.StringFormat.Should().Be("yyyy-MM-dd");
        }
Пример #19
0
        public void CtorWithFormatBuildsAValidInstance(DateTime columnValue, string format)
        {
            // Act
            DateTimeColumn dc = new DateTimeColumn(columnValue, format);

            // Assert
            dc.Alias.Should().BeNull();
            dc.Value.Should().Be(columnValue);
            dc.StringFormat.Should().Be(format);
        }
Пример #20
0
        public void TestParse_FormatProvider_NoFormatString_ParsesGenerically()
        {
            DateTimeColumn column = new DateTimeColumn("created");

            column.FormatProvider = CultureInfo.CurrentCulture;
            DateTime actual   = (DateTime)column.Parse("1/19/2013");
            DateTime expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual);
        }
Пример #21
0
        public void TestParse_FormatString_ParsesExactly()
        {
            DateTimeColumn column = new DateTimeColumn("created");

            column.InputFormat = "d";
            DateTime actual   = (DateTime)column.Parse("1/19/2013");
            DateTime expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual);
        }
Пример #22
0
 public void TestColumnDefinitions_GetEnumerable_Explicit()
 {
     Schema schema = new Schema();
     ColumnDefinition id = new Int32Column("id");
     ColumnDefinition name = new StringColumn("name");
     ColumnDefinition created = new DateTimeColumn("created");
     schema.AddColumn(id).AddColumn(name).AddColumn(created);
     IEnumerable collection = schema.ColumnDefinitions;
     IEnumerator enumerator = collection.GetEnumerator();
 }
        public void TestParse_FormatProvider_FormatString_ParsesExactly()
        {
            DateTimeColumn column = new DateTimeColumn("created");

            column.InputFormat    = "d";
            column.FormatProvider = CultureInfo.CurrentCulture;
            DateTime actual   = (DateTime)column.Parse("1/19/2013");
            DateTime expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual, "The value was not parsed as expected.");
        }
Пример #24
0
        public void TestColumnDefinitions_GetEnumerable_Explicit()
        {
            SeparatedValueSchema schema  = new SeparatedValueSchema();
            ColumnDefinition     id      = new Int32Column("id");
            ColumnDefinition     name    = new StringColumn("name");
            ColumnDefinition     created = new DateTimeColumn("created");

            schema.AddColumn(id).AddColumn(name).AddColumn(created);
            IEnumerable collection = schema.ColumnDefinitions;
            IEnumerator enumerator = collection.GetEnumerator();
        }
        public void TestColumnDefinitions_GetEnumerable_Explicit()
        {
            FixedLengthSchema schema  = new FixedLengthSchema();
            ColumnDefinition  id      = new Int32Column("id");
            ColumnDefinition  name    = new StringColumn("name");
            ColumnDefinition  created = new DateTimeColumn("created");

            schema.AddColumn(id, 10).AddColumn(name, 25).AddColumn(created, 10);
            IEnumerable collection = schema.ColumnDefinitions;
            IEnumerator enumerator = collection.GetEnumerator();
        }
Пример #26
0
        private static DateTimeColumn CreateDateTimeColumn(string header, int width)
        {
            var col = new DateTimeColumn(header, width)
            {
                CustomDateTimeFormat = "d-MM H:mm",
                DateTimeFormat       = System.Windows.Forms.DateTimePickerFormat.Custom,
                Editable             = false,
                ShowDropDownButton   = false
            };

            return(col);
        }
Пример #27
0
 public void TestColumnDefinitions_FindByIndex()
 {
     Schema schema = new Schema();
     ColumnDefinition id = new Int32Column("id");
     ColumnDefinition name = new StringColumn("name");
     ColumnDefinition created = new DateTimeColumn("created");
     schema.AddColumn(id).AddColumn(name).AddColumn(created);
     ColumnCollection collection = schema.ColumnDefinitions;
     Assert.AreSame(id, collection[0], "The first column definition was wrong.");
     Assert.AreSame(name, collection[1], "The second column definition was wrong.");
     Assert.AreSame(created, collection[2], "The third column definition was wrong.");
 }
 public void TestColumnDefinitions_GetEnumerable_Explicit()
 {
     FixedLengthSchema schema = new FixedLengthSchema();
     ColumnDefinition id = new Int32Column("id");
     ColumnDefinition name = new StringColumn("name");
     ColumnDefinition created = new DateTimeColumn("created");
     schema.AddColumn(id, new Window(10))
         .AddColumn(name, new Window(25))
         .AddColumn(created, new Window(10));
     IEnumerable collection = schema.ColumnDefinitions;
     IEnumerator enumerator = collection.GetEnumerator();
 }
Пример #29
0
        public void TestParse_FormatProvider_FormatString_ParsesExactly()
        {
            DateTimeColumn column = new DateTimeColumn("created")
            {
                InputFormat    = "d",
                FormatProvider = CultureInfo.CurrentCulture
            };
            DateTime actual   = (DateTime)column.Parse(null, "1/19/2013");
            DateTime expected = new DateTime(2013, 1, 19);

            Assert.AreEqual(expected, actual);
        }
Пример #30
0
        public void TestColumnDefinitions_FindByIndex()
        {
            SeparatedValueSchema schema  = new SeparatedValueSchema();
            IColumnDefinition    id      = new Int32Column("id");
            IColumnDefinition    name    = new StringColumn("name");
            IColumnDefinition    created = new DateTimeColumn("created");

            schema.AddColumn(id).AddColumn(name).AddColumn(created);
            ColumnCollection collection = schema.ColumnDefinitions;

            Assert.Same(id, collection[0]);
            Assert.Same(name, collection[1]);
            Assert.Same(created, collection[2]);
        }
Пример #31
0
        public void TestColumnDefinitions_FindByIndex()
        {
            SeparatedValueSchema schema  = new SeparatedValueSchema();
            ColumnDefinition     id      = new Int32Column("id");
            ColumnDefinition     name    = new StringColumn("name");
            ColumnDefinition     created = new DateTimeColumn("created");

            schema.AddColumn(id).AddColumn(name).AddColumn(created);
            ColumnCollection collection = schema.ColumnDefinitions;

            Assert.AreSame(id, collection[0], "The first column definition was wrong.");
            Assert.AreSame(name, collection[1], "The second column definition was wrong.");
            Assert.AreSame(created, collection[2], "The third column definition was wrong.");
        }
Пример #32
0
        public void DateTimeColumn_Basic()
        {
            DateTime[] samples = new DateTime[] { DateTime.UtcNow, DateTime.UtcNow.AddDays(-10), DateTime.MinValue.ToUniversalTime(), DateTime.MaxValue.ToUniversalTime() };

            DateTimeColumn column = new DateTimeColumn();

            Assert.AreEqual(0, column.Count);

            Verify.Exception <ArgumentOutOfRangeException>(() => { DateTime value = column[0]; });

            // Set values and verify they are read back consistently (all UTC)
            for (int i = 0; i < samples.Length; ++i)
            {
                column.Add();
                column[i] = samples[i];
                Assert.AreEqual(samples[i], column[i]);
            }

            Assert.AreEqual(samples.Length, column.Count);

            // Add a local time value and verify it's UTC when it comes back
            DateTime localTime = new DateTime(2017, 3, 7, 10, 26, 56, DateTimeKind.Local);

            column.Add();
            column[column.Count - 1] = localTime;
            Assert.AreEqual(localTime.ToUniversalTime(), column[column.Count - 1]);

            // Round-Trip the column
            DateTimeColumn readColumn = new DateTimeColumn();

            Verify.RoundTrip <DateTimeColumn>(column, readColumn);
            Assert.AreEqual(column.Count, readColumn.Count);

            for (int i = 0; i < column.Count; ++i)
            {
                Assert.AreEqual(column[i], readColumn[i]);
            }

            // Verify clear works
            column.Clear();
            Assert.AreEqual(0, column.Count);
            Verify.Exception <ArgumentOutOfRangeException>(() => { DateTime value = column[0]; });

            // Verify SetCount works
            column.SetCount(2);
            Assert.AreEqual(2, column.Count);
            Assert.AreEqual(DateTime.MinValue, column[1]);
        }
        public void TestColumnDefinitions_FindByIndex()
        {
            FixedLengthSchema schema  = new FixedLengthSchema();
            IColumnDefinition id      = new Int32Column("id");
            IColumnDefinition name    = new StringColumn("name");
            IColumnDefinition created = new DateTimeColumn("created");

            schema.AddColumn(id, new Window(10))
            .AddColumn(name, new Window(25))
            .AddColumn(created, new Window(10));
            ColumnCollection collection = schema.ColumnDefinitions;

            Assert.AreSame(id, collection[0]);
            Assert.AreSame(name, collection[1]);
            Assert.AreSame(created, collection[2]);
        }
Пример #34
0
        /// <summary>
        /// Raises the PaintCell event
        /// </summary>
        /// <param name="e">A PaintCellEventArgs that contains the event data</param>
        public override void OnPaintCell(PaintCellEventArgs e)
        {
            if (e.Table.ColumnModel.Columns[e.Column] is DateTimeColumn)
            {
                DateTimeColumn column = (DateTimeColumn)e.Table.ColumnModel.Columns[e.Column];

                this.DateTimeFormat = column.DateTimeFormat;
                this.Format         = column.CustomDateTimeFormat;
            }
            else
            {
                this.DateTimeFormat = DateTimePickerFormat.Long;
                this.Format         = "";
            }

            base.OnPaintCell(e);
        }
Пример #35
0
        public static IColumnDefinition GetColumnDefinition(this DataType dataType, Core.ColumnDefinition column)
        {
            switch (dataType)
            {
            case DataType.String:
                return(new StringColumn(column.Name));

            case DataType.DateTime:
            {
                var datetime = new DateTimeColumn(column.Name);
                datetime.InputFormat = column.Format;
                return(datetime);
            }

            case DataType.Int:
                return(new Int64Column(column.Name));

            default:
                throw new ArgumentOutOfRangeException(nameof(dataType), dataType, null);
            }
        }
Пример #36
0
        private void DoSorting(bool withMulti)
        {
            Table table = this.table;       // The Table control on a form - already initialised

            table.Clear();
            table.BeginUpdate();
            table.EnableWordWrap = true;    // If false, then Cell.WordWrap is ignored

            NumberColumn   col0 = new NumberColumn("#", 20);
            NumberColumn   col1 = new NumberColumn("Height", 50);
            TextColumn     col2 = new TextColumn("Name", 80);
            TextColumn     col3 = new TextColumn("Surname", 80);
            DateTimeColumn col4 = new DateTimeColumn("Birthday", 120);
            TextColumn     col5 = new TextColumn("Comments", 100);

            table.ColumnModel = new ColumnModel(new Column[] { col0, col1, col2, col3, col4, col5 });

            if (withMulti)
            {
                // Surname, Name, Height (descending)
                SortColumnCollection sort = new SortColumnCollection();
                sort.Add(new SortColumn(3, SortOrder.Ascending));   // Surname
                sort.Add(new SortColumn(2, SortOrder.Ascending));   // Name
                sort.Add(new SortColumn(1, SortOrder.Descending));  // Height
                table.ColumnModel.SecondarySortOrders = sort;
            }

            TableModel model = new TableModel();

            AddSortingRow(model, 1, 1.52, "Mark", "Hobbs", "23/1/1978", "likes apples");
            AddSortingRow(model, 2, 1.76, "Dave", "Duke", "2/5/1977", "keeps fish");
            AddSortingRow(model, 3, 1.64, "Holly", "Prench", "14/8/1979", "singer");
            AddSortingRow(model, 4, 1.53, "Mark", "Hobbs", "23/1/1984", "plays football");
            AddSortingRow(model, 5, 1.64, "Dave", "Hobbs", "19/1/1980", "vegetarian");

            this.table.TableModel = model;

            this.table.EndUpdate();
        }
 public DateTimePropertyMapping(DateTimeColumn column, PropertyInfo property)
 {
     this.column = column;
     this.property = property;
 }
Пример #38
0
 public ColumnAdder<DateTimeResult> Column(DateTimeColumn column)
 {
     return new ColumnAdder<DateTimeResult>(this, column);
 }
Пример #39
0
        public void TestCtor_SetsName_Trimmed()
        {
            DateTimeColumn column = new DateTimeColumn(" Name   ");

            Assert.AreEqual("Name", column.ColumnName);
        }
Пример #40
0
 public void TestCtor_SetsName_Trimmed()
 {
     DateTimeColumn column = new DateTimeColumn(" Name   ");
     Assert.Equal("Name", column.ColumnName);
 }
 public void TestCtor_SetsName_LowerCase_Trimmed()
 {
     DateTimeColumn column = new DateTimeColumn(" Name   ");
     Assert.AreEqual("name", column.ColumnName, "The name was not set as expected.");
 }
 public void TestParse_ValueBlank_NullReturned()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     DateTime? actual = (DateTime?)column.Parse("    ");
     DateTime? expected = null;
     Assert.AreEqual(expected, actual, "The value was not parsed as expected.");
 }
Пример #43
0
 public InitializedTestTable()
     : base("MyTable")
 {
     DateColumn = new DateColumn(this, "MyDateColumn");
     DateTimeColumn = new DateTimeColumn(this, "MyDateTimeColumn");
     DecimalColumn = new DecimalColumn(this, "MyDecimalColumn");
     DoubleColumn = new DoubleColumn(this, "MyDoubleColumn");
     IntColumn = new IntColumn(this, "MyIntColumn");
     StringColumn = new StringColumn(this, "MyStringColumn");
 }
Пример #44
0
 public void TestParse_ValueBlank_NullReturned()
 {
     DateTimeColumn column = new DateTimeColumn("created");
     DateTime? actual = (DateTime?)column.Parse("    ");
     DateTime? expected = null;
     Assert.Equal(expected, actual);
 }