static void example1() { DataTable table = new DataTable("TableName"); DataColumn col1 = new DataColumn("col1", typeof(int)); DataColumn col2 = new DataColumn("col2", typeof(string)); DataColumnCollection columnCollection = table.Columns; columnCollection.AddRange(new DataColumn[] { col1, col2 }); foreach (DataColumn column in table.Columns) { Console.WriteLine("{0}: {1}", column.ColumnName, column.DataType); } DataRow r = table.NewRow(); r["col1"] = 1; r["col2"] = "one"; table.Rows.Add(r); foreach (DataRow row in table.Rows) { foreach (DataColumn column in table.Columns) { Console.WriteLine("{0}: {1}", column.ColumnName, row[column]); } } }
static void Main(string[] args) { DataTable newTable = new DataTable("First"); DataColumn first = new DataColumn("name", typeof(string)); DataColumn second = new DataColumn("age", typeof(int)); DataColumnCollection coll = newTable.Columns; coll.AddRange(new DataColumn[] { first, second }); foreach (DataColumn item in newTable.Columns) { Console.WriteLine(item.ColumnName + " " + item.DataType); Console.WriteLine(new string('-', 40)); } }
static void Main(string[] args) { DataTable table = new DataTable("MyFirstTable"); DataColumn firstColumn = new DataColumn("First Column", typeof(int)); DataColumn secondColumn = new DataColumn("Second column", typeof(string)); DataColumnCollection columnCollection = table.Columns; columnCollection.AddRange(new DataColumn[] { firstColumn, secondColumn }); foreach (DataColumn column in table.Columns) { Console.WriteLine("{0}: {1};", column.ColumnName, column.DataType); } }
private static FeatureDataTable VehicleDataTable() { FeatureDataTable dt = new FeatureDataTable { TableName = "VilniusTransportData" }; DataColumnCollection dcc = dt.Columns; dcc.AddRange(new[] { new DataColumn("Id", typeof(int)), //new System.Data.DataColumn("Lat", typeof(double)), //new System.Data.DataColumn("Lng", typeof(double)), new DataColumn("Line", typeof(string)), new DataColumn("LastStop", typeof(string)), new DataColumn("TrackType", typeof(string)), new DataColumn("AreaName", typeof(string)), new DataColumn("StreetName", typeof(string)), new DataColumn("Time", typeof(string)), new DataColumn("Bearing", typeof(double)) }); return(dt); }
static void Main(string[] args) { var table = new DataTable(); //you can also use ctor new DataTable("MyFirstTable"); table.TableName = "MyFirstTable"; var firstColumn = new System.Data.DataColumn(); firstColumn.ColumnName = "FirstColumn"; firstColumn.DataType = typeof(int); var secondColumn = new System.Data.DataColumn("SecondColumn", typeof(string)); //if you don't mention type, it'll take string by default DataColumnCollection columns = table.Columns; columns.AddRange(new System.Data.DataColumn[] { firstColumn, secondColumn }); foreach (System.Data.DataColumn column in table.Columns) { Console.WriteLine($"{column.ColumnName}: {column.DataType}"); } Console.ReadKey(); }
public void AddRange() { DataTable table = new DataTable("test_table"); DataColumnCollection cols = table.Columns; DataColumn c = null; DataColumn[] colArray = new DataColumn[2]; c = new DataColumn("test1"); colArray[0] = c; c = new DataColumn("test2"); c.AllowDBNull = false; c.Caption = "Test_caption"; c.DataType = typeof(XmlReader); colArray[1] = c; cols.AddRange(colArray); c = cols[0]; Assert.True(c.AllowDBNull); Assert.False(c.AutoIncrement); Assert.Equal(0L, c.AutoIncrementSeed); Assert.Equal(1L, c.AutoIncrementStep); Assert.Equal("test1", c.Caption); Assert.Equal("Element", c.ColumnMapping.ToString()); Assert.Equal("test1", c.ColumnName); Assert.Null(c.Container); Assert.Equal(typeof(string), c.DataType); Assert.Equal(DBNull.Value, c.DefaultValue); Assert.False(c.DesignMode); Assert.Equal("", c.Expression); Assert.Equal(0, c.ExtendedProperties.Count); Assert.Equal(-1, c.MaxLength); Assert.Equal("", c.Namespace); Assert.Equal(0, c.Ordinal); Assert.Equal("", c.Prefix); Assert.False(c.ReadOnly); Assert.Null(c.Site); Assert.Equal("test_table", c.Table.TableName); Assert.Equal("test1", c.ToString()); Assert.False(c.Unique); c = cols[1]; Assert.False(c.AllowDBNull); Assert.False(c.AutoIncrement); Assert.Equal(0L, c.AutoIncrementSeed); Assert.Equal(1L, c.AutoIncrementStep); Assert.Equal("Test_caption", c.Caption); Assert.Equal("Element", c.ColumnMapping.ToString()); Assert.Equal("test2", c.ColumnName); Assert.Null(c.Container); Assert.Equal(typeof(XmlReader), c.DataType); Assert.Equal(DBNull.Value, c.DefaultValue); Assert.False(c.DesignMode); Assert.Equal("", c.Expression); Assert.Equal(0, c.ExtendedProperties.Count); Assert.Equal(-1, c.MaxLength); Assert.Equal("", c.Namespace); Assert.Equal(1, c.Ordinal); Assert.Equal("", c.Prefix); Assert.False(c.ReadOnly); Assert.Null(c.Site); Assert.Equal("test_table", c.Table.TableName); Assert.Equal("test2", c.ToString()); Assert.False(c.Unique); }
/// <summary> /// 批量增加 DataColumn /// </summary> /// <param name="this"></param> /// <param name="columnNames">列名集合</param> /// <exception cref="DuplicateNameException"><paramref name="columnNames" />有特殊列名</exception> /// <example> /// <code> /// <![CDATA[ /// var dt = new DataTable(); /// dt.Columns.AddRange("Field1", "Field2", "Field3"); /// // dt.Columns == {"Field1", "Field2", "Field3"} /// ]]> /// </code> /// </example> public static void AddRangeParams(this DataColumnCollection @this, params string[] columnNames) { @this.AddRange(columnNames); }
public void AddRange() { DataTable Table = new DataTable("test_table"); DataTable Table2 = new DataTable("test_table2"); DataColumnCollection Cols = Table.Columns; DataColumn C = null; DataColumn [] ColArray = new DataColumn [2]; C = new DataColumn("test1"); ColArray [0] = C; C = new DataColumn("test2"); C.AllowDBNull = false; C.Caption = "Test_caption"; C.DataType = typeof(XmlReader); ColArray [1] = C; Cols.AddRange(ColArray); C = Cols [0]; Assert.IsTrue(C.AllowDBNull, "test#01"); Assert.IsFalse(C.AutoIncrement, "test#02"); Assert.AreEqual(0L, C.AutoIncrementSeed, "test#03"); Assert.AreEqual(1L, C.AutoIncrementStep, "test#04"); Assert.AreEqual("test1", C.Caption, "test#05"); Assert.AreEqual("Element", C.ColumnMapping.ToString(), "test#06"); Assert.AreEqual("test1", C.ColumnName, "test#07"); //Assert.IsNull (C.Container, "test#08"); Assert.AreEqual(typeof(string), C.DataType, "test#09"); Assert.AreEqual(DBNull.Value, C.DefaultValue, "test#10"); //Assert.IsFalse (C.DesignMode, "test#11"); Assert.AreEqual("", C.Expression, "test#12"); Assert.AreEqual(0, C.ExtendedProperties.Count, "test#13"); Assert.AreEqual(-1, C.MaxLength, "test#14"); Assert.AreEqual("", C.Namespace, "test#15"); Assert.AreEqual(0, C.Ordinal, "test#16"); Assert.AreEqual("", C.Prefix, "test#17"); Assert.IsFalse(C.ReadOnly, "test#18"); //Assert.IsNull (C.Site, "test#19"); Assert.AreEqual("test_table", C.Table.TableName, "test#20"); Assert.AreEqual("test1", C.ToString(), "test#21"); Assert.IsFalse(C.Unique, "test#22"); C = Cols [1]; Assert.IsFalse(C.AllowDBNull, "test#01"); Assert.IsFalse(C.AutoIncrement, "test#02"); Assert.AreEqual(0L, C.AutoIncrementSeed, "test#03"); Assert.AreEqual(1L, C.AutoIncrementStep, "test#04"); Assert.AreEqual("Test_caption", C.Caption, "test#05"); Assert.AreEqual("Element", C.ColumnMapping.ToString(), "test#06"); Assert.AreEqual("test2", C.ColumnName, "test#07"); //Assert.IsNull (C.Container, "test#08"); Assert.AreEqual(typeof(XmlReader), C.DataType, "test#09"); Assert.AreEqual(DBNull.Value, C.DefaultValue, "test#10"); //Assert.IsFalse (C.DesignMode, "test#11"); Assert.AreEqual("", C.Expression, "test#12"); Assert.AreEqual(0, C.ExtendedProperties.Count, "test#13"); Assert.AreEqual(-1, C.MaxLength, "test#14"); Assert.AreEqual("", C.Namespace, "test#15"); Assert.AreEqual(1, C.Ordinal, "test#16"); Assert.AreEqual("", C.Prefix, "test#17"); Assert.IsFalse(C.ReadOnly, "test#18"); //Assert.IsNull (C.Site, "test#19"); Assert.AreEqual("test_table", C.Table.TableName, "test#20"); Assert.AreEqual("test2", C.ToString(), "test#21"); Assert.IsFalse(C.Unique, "test#22"); }
public static DataTable Create( string className, Dictionary <string, DataColumn> headOid, Dictionary <string, DataColumn> headCol, List <int> duplicates) { #region Instance a DataTable. DataTable lResult = null; if (className == null) { className = string.Empty; } if (className.Length > 0) { lResult = new DataTable(className); } else { lResult = new DataTable(); } #endregion Instance a DataTable. DataColumnCollection lColumns = lResult.Columns; #region Add Oid Fields to DataSet. if (headOid != null) { // Save Oid Info. string[] lOidNames = new string[headOid.Count]; headOid.Keys.CopyTo(lOidNames, 0); lResult.ExtendedProperties.Add(DataTableProperties.OidFieldNames, new List <string>(lOidNames)); // Add Oid Columns. DataColumn[] lOidFields = new DataColumn[headOid.Count]; headOid.Values.CopyTo(lOidFields, 0); lColumns.AddRange(lOidFields); #region Add DisplaySet to DataTable. if (headCol != null) { foreach (DataColumn i in lOidFields) { if (headCol.ContainsKey(i.ColumnName)) { duplicates.Add((int)headCol[i.ColumnName].ExtendedProperties[DataTableProperties.DataColumnProperties.Index]); headCol.Remove(i.ColumnName); } } // Add DisplaySet - OID Columns. DataColumn[] lDisplaySet = new DataColumn[headCol.Count]; headCol.Values.CopyTo(lDisplaySet, 0); lColumns.AddRange(lDisplaySet); } #endregion Add DisplaySet to DataSet. #region Add Oid Fields to UniqueConstraint. StringBuilder lUniqueConstraintName = new StringBuilder(PrefixUniqueConstraint); lUniqueConstraintName.Append(lResult.TableName); lResult.Constraints.Add(new UniqueConstraint(lUniqueConstraintName.ToString(), lOidFields, true)); #endregion Add Oid Fields to UniqueConstraint. } #endregion Add Oid Fields to DataSet. else { throw new ArgumentException(); // TODO: Add rich message error. } return(lResult); }
/// <summary> /// Copies the elements of the specified DataColumn array to the end of the collection. /// </summary> /// <param name="columns">The array of DataColumn objects to add to the collection.</param> public void AddRange(DataColumn[] columns) { _dataColumnCollection.AddRange(columns); }