本文整理汇总了C#中DataColumn类的典型用法代码示例。如果您正苦于以下问题:C# DataColumn类的具体用法?C# DataColumn怎么用?C# DataColumn使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DataColumn类属于命名空间,在下文中一共展示了DataColumn类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CancelEdit
public void CancelEdit()
{
DataTable myTable = new DataTable("myTable");
DataColumn dc = new DataColumn("Id", typeof(int));
dc.Unique = true;
myTable.Columns.Add(dc);
myTable.Rows.Add(new object[] { 1 });
myTable.Rows.Add(new object[] { 2 });
myTable.Rows.Add(new object[] { 3 });
DataRow myRow = myTable.Rows[0];
myRow.BeginEdit();
myRow[0] = 7;
myRow.CancelEdit();
// DataRow CancelEdit
Assert.Equal(true, (int)myRow[0] == 1);
}
示例2: DataViewTest
public DataViewTest()
{
_dataTable = new DataTable("itemTable");
_dc1 = new DataColumn("itemId");
_dc2 = new DataColumn("itemName");
_dc3 = new DataColumn("itemPrice");
_dc4 = new DataColumn("itemCategory");
_dataTable.Columns.Add(_dc1);
_dataTable.Columns.Add(_dc2);
_dataTable.Columns.Add(_dc3);
_dataTable.Columns.Add(_dc4);
DataRow dr;
_seed = 123;
_rowCount = 5;
_rndm = new Random(_seed);
for (int i = 1; i <= _rowCount; i++)
{
dr = _dataTable.NewRow();
dr["itemId"] = "item " + i;
dr["itemName"] = "name " + _rndm.Next();
dr["itemPrice"] = "Rs. " + (_rndm.Next() % 1000);
dr["itemCategory"] = "Cat " + ((_rndm.Next() % 10) + 1);
_dataTable.Rows.Add(dr);
}
_dataTable.AcceptChanges();
_dataView = new DataView(_dataTable);
_dataView.ListChanged += new ListChangedEventHandler(OnListChanged);
_listChangedArgs = null;
}
示例3: Key
internal Key(DataTable table,DataColumn[] columns,ListSortDirection[] sort, DataViewRowState rowState, IExpression filter)
{
_table = table;
_filter = filter;
if (_filter != null)
_tmpRow = _table.NewNotInitializedRow();
_columns = columns;
if (sort != null && sort.Length == columns.Length) {
_sortDirection = sort;
}
else {
_sortDirection = new ListSortDirection[columns.Length];
for(int i=0; i < _sortDirection.Length; i++) {
_sortDirection[i] = ListSortDirection.Ascending;
}
}
if (rowState != DataViewRowState.None) {
_rowStateFilter = rowState;
}
else {
// FIXME : what is the correct value ?
_rowStateFilter = DataViewRowState.CurrentRows;
}
}
示例4: MakeTable
private DataTable MakeTable()
{
DataTable namesTable = new DataTable("Names");
DataColumn idColumn = new DataColumn();
idColumn.DataType = Type.GetType("System.Int32");
idColumn.ColumnName = "Id";
idColumn.AutoIncrement = true;
namesTable.Columns.Add(idColumn);
DataColumn fNameColumn = new DataColumn();
fNameColumn.DataType = Type.GetType("System.String");
fNameColumn.ColumnName = "Fname";
fNameColumn.DefaultValue = "Fname";
namesTable.Columns.Add(fNameColumn);
DataColumn lNameColumn = new DataColumn();
lNameColumn.DataType = Type.GetType("System.String");
lNameColumn.ColumnName = "LName";
lNameColumn.DefaultValue = "LName";
namesTable.Columns.Add(lNameColumn);
// Set the primary key for the table
DataColumn[] keys = new DataColumn[1];
keys[0] = idColumn;
namesTable.PrimaryKey = keys;
// Return the new DataTable.
return namesTable;
}
示例5: GetSortedSchemaRows
internal static DbSchemaRow[] GetSortedSchemaRows(DataTable dataTable, bool returnProviderSpecificTypes)
{
DataColumn sortindex = dataTable.Columns[SchemaMappingUnsortedIndex];
if (null == sortindex)
{
sortindex = new DataColumn(SchemaMappingUnsortedIndex, typeof(int));
dataTable.Columns.Add(sortindex);
}
int count = dataTable.Rows.Count;
for (int i = 0; i < count; ++i)
{
dataTable.Rows[i][sortindex] = i;
};
DbSchemaTable schemaTable = new DbSchemaTable(dataTable, returnProviderSpecificTypes);
const DataViewRowState rowStates = DataViewRowState.Unchanged | DataViewRowState.Added | DataViewRowState.ModifiedCurrent;
DataRow[] dataRows = dataTable.Select(null, "ColumnOrdinal ASC", rowStates);
Debug.Assert(null != dataRows, "GetSchemaRows: unexpected null dataRows");
DbSchemaRow[] schemaRows = new DbSchemaRow[dataRows.Length];
for (int i = 0; i < dataRows.Length; ++i)
{
schemaRows[i] = new DbSchemaRow(schemaTable, dataRows[i]);
}
return schemaRows;
}
示例6: CreateTestView
private DataView CreateTestView()
{
DataTable dt1 = new DataTable("table1");
DataColumn c1 = new DataColumn("col");
dt1.Columns.Add(c1);
dt1.Rows.Add(new object[] { "1" });
return new DataView(dt1);
}
示例7: CreateInstance
internal static AbstractDataContainer CreateInstance(Type type, DataColumn column)
{
AbstractDataContainer container;
switch (Type.GetTypeCode(type)) {
case TypeCode.Int16 :
container = new Int16DataContainer();
break;
case TypeCode.Int32 :
container = new Int32DataContainer();
break;
case TypeCode.Int64 :
container = new Int64DataContainer();
break;
case TypeCode.String :
container = new StringDataContainer();
break;
case TypeCode.Boolean:
container = new BitDataContainer();
break;
case TypeCode.Byte :
container = new ByteDataContainer();
break;
case TypeCode.Char :
container = new CharDataContainer();
break;
case TypeCode.Double :
container = new DoubleDataContainer();
break;
case TypeCode.SByte :
container = new SByteDataContainer();
break;
case TypeCode.Single :
container = new SingleDataContainer();
break;
case TypeCode.UInt16 :
container = new UInt16DataContainer();
break;
case TypeCode.UInt32 :
container = new UInt32DataContainer();
break;
case TypeCode.UInt64 :
container = new UInt64DataContainer();
break;
case TypeCode.DateTime :
container = new DateTimeDataContainer();
break;
case TypeCode.Decimal :
container = new DecimalDataContainer();
break;
default :
container = new ObjectDataContainer();
break;
}
container._type = type;
container._column = column;
return container;
}
示例8: MakeParentTable
private void MakeParentTable()
{
// Create a new Table
_parentTable = new DataTable("ParentTable");
_dataSet = new DataSet("XmlSchemaDataSet");
DataColumn column;
DataRow row;
// Create new DataColumn, set DataType,
// ColumnName and add to Table.
column = new DataColumn();
column.DataType = typeof(int);
column.ColumnName = "id";
column.Unique = true;
// Add the Column to the DataColumnCollection.
_parentTable.Columns.Add(column);
// Create second column
column = new DataColumn();
column.DataType = typeof(string);
column.ColumnName = "ParentItem";
column.AutoIncrement = false;
column.Caption = "ParentItem";
column.Unique = false;
// Add the column to the table
_parentTable.Columns.Add(column);
// Create third column.
column = new DataColumn();
column.DataType = typeof(int);
column.ColumnName = "DepartmentID";
column.Caption = "DepartmentID";
// Add the column to the table.
_parentTable.Columns.Add(column);
// Make the ID column the primary key column.
DataColumn[] PrimaryKeyColumns = new DataColumn[2];
PrimaryKeyColumns[0] = _parentTable.Columns["id"];
PrimaryKeyColumns[1] = _parentTable.Columns["DepartmentID"];
_parentTable.PrimaryKey = PrimaryKeyColumns;
_dataSet.Tables.Add(_parentTable);
// Create three new DataRow objects and add
// them to the DataTable
for (int i = 0; i <= 2; i++)
{
row = _parentTable.NewRow();
row["id"] = i + 1;
row["ParentItem"] = "ParentItem " + (i + 1);
row["DepartmentID"] = i + 1;
_parentTable.Rows.Add(row);
}
}
示例9: Ctor
public void Ctor()
{
string colName = "ColName";
DataColumn col = new DataColumn();
//These should all ctor without an exception
col = new DataColumn(colName);
col = new DataColumn(colName, typeof(int));
col = new DataColumn(colName, typeof(int), null);
col = new DataColumn(colName, typeof(int), null, MappingType.Attribute);
}
示例10: CreateDataSet
DataSet CreateDataSet ()
{
DataSet ds = new DataSet (DbProviderFactories.CONFIG_SECTION_NAME);
DataTable dt = ds.Tables.Add (DbProviderFactories.CONFIG_SEC_TABLE_NAME);
DataColumn [] columns = new DataColumn [4];
columns [0] = new DataColumn ("Name", typeof (string));
columns [1] = new DataColumn ("Description", typeof (string));
columns [2] = new DataColumn ("InvariantName", typeof (string));
columns [3] = new DataColumn ("AssemblyQualifiedName", typeof (string));
dt.Columns.AddRange (columns);
dt.PrimaryKey = new DataColumn [] { columns [2] };
return ds;
}
示例11: ColumnManager
public ColumnManager(int numCols) {
allowedNull = "-";
columnData = new ArrayList(numCols);
for (int i = 0; i < numCols; i++)
{
DataColumn<string> col = new DataColumn<string>("Column " + i);
columnData.Add(col);
columnNames.Add("");
}
}
示例12: AutoIncrement
public void AutoIncrement()
{
DataColumn col = new DataColumn("Auto");
col.AutoIncrement = true;
col.AutoIncrementSeed = 0;
col.AutoIncrementStep = 1;
_tbl.Columns.Add(col);
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(0, Convert.ToInt32(_tbl.Rows[0]["Auto"]));
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(1, Convert.ToInt32(_tbl.Rows[1]["Auto"]));
col.AutoIncrement = false;
Assert.Equal(1, Convert.ToInt32(_tbl.Rows[1]["Auto"]));
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(DBNull.Value, _tbl.Rows[2]["Auto"]);
col.AutoIncrement = true;
col.AutoIncrementSeed = 10;
col.AutoIncrementStep = 2;
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(10, Convert.ToInt32(_tbl.Rows[3]["Auto"]));
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(12, Convert.ToInt32(_tbl.Rows[4]["Auto"]));
col = new DataColumn("Auto2");
col.DataType = typeof(string);
col.AutoIncrement = true;
col.AutoIncrementSeed = 0;
col.AutoIncrementStep = 1;
_tbl.Columns.Add(col);
_tbl.Rows.Add(_tbl.NewRow());
Assert.Equal(typeof(int), _tbl.Columns[1].DataType);
Assert.Equal(typeof(int), _tbl.Rows[5]["Auto2"].GetType());
col = new DataColumn("Auto3");
col.AutoIncrement = true;
col.AutoIncrementSeed = 0;
col.AutoIncrementStep = 1;
col.DataType = typeof(string);
Assert.Equal(typeof(string), col.DataType);
Assert.False(col.AutoIncrement);
}
示例13: Generate
public void Generate()
{
Exception tmpEx = new Exception();
DataTable tbl = new DataTable();
tbl.Columns.Add(new DataColumn("Column"));
DataColumn dc = new DataColumn();
dc.Expression = "something"; //invalid expression
// SyntaxErrorException - Column Expression
Assert.Throws<SyntaxErrorException>(() => tbl.Columns[0].Expression = "Colummn +=+ 1"); //invalid expression
// SyntaxErrorException - Select
Assert.Throws<SyntaxErrorException>(() => tbl.Select("Name += something"));
}
示例14: AllowDBNull
public void AllowDBNull()
{
DataColumn col = new DataColumn("NullCheck", typeof(int));
_tbl.Columns.Add(col);
col.AllowDBNull = true;
_tbl.Rows.Add(_tbl.NewRow());
_tbl.Rows[0]["NullCheck"] = DBNull.Value;
try
{
col.AllowDBNull = false;
Assert.False(true);
}
catch (DataException)
{
}
}
示例15: CreateDataTables
internal virtual void CreateDataTables (DataSet ds, XmlNode section)
{
DataTable dt = ds.Tables.Add ("DbProviderFactories");
DataColumn [] columns = new DataColumn [5];
columns [0] = new DataColumn ("Name", typeof (string));
columns [1] = new DataColumn ("Description", typeof (string));
columns [2] = new DataColumn ("InvariantName", typeof (string));
columns [3] = new DataColumn ("AssemblyQualifiedName", typeof (string));
columns [4] = new DataColumn ("SupportedClasses", typeof (int));
dt.Columns.AddRange (columns);
dt.PrimaryKey = new DataColumn [] {columns [2]};
foreach (XmlNode node in section.SelectNodes (".//DbProviderFactories")) {
AddRows (dt, node);
RemoveRows (dt, node);
}
}