请在下次包括错误的行号......因为这有帮助。
看来你正在给DataColumn的DataType属性赋值一个字符串,该属性需要一个Type对象。因此,修复会...
dw.Table.Columns["RequiredDate"].DataType = NewDate.GetType(); // or typeof(DateTime)
更新(对问题#2 - 排序不发生) 从代码片段改编自this MSDN Page(看看这里的执行的辅助方法)。 DataColumn的格式应该是表示层/消费者的责任。但是,如果你真的需要做到这一点的数据视图 - link
private static void DemonstrateDataView(){
// Create one DataTable with one column.
DataTable myTable = new DataTable("myTable");
DataColumn colItem = new DataColumn("item",typeof(DateTime));
myTable.Columns.Add(colItem);
// Add five items.
DataRow NewRow;
for(int i = 0; i <5; i++){
NewRow = myTable.NewRow();
NewRow["item"] = DateTime.Now.AddDays(-i);
myTable.Rows.Add(NewRow);
}
myTable.AcceptChanges();
// Print current table values.
PrintTableOrView(myTable,"Current Values in Table");
DataView secondView = new DataView(myTable);
secondView.Sort = "item";
PrintTableOrView(secondView, "Second DataView: ");
}
输出:
Current Values in Table
8/10/2010 11:34:28 AM
8/9/2010 11:34:28 AM
8/8/2010 11:34:28 AM
8/7/2010 11:34:28 AM
8/6/2010 11:34:28 AM
Second DataView:
8/6/2010 11:34:28 AM
8/7/2010 11:34:28 AM
8/8/2010 11:34:28 AM
8/9/2010 11:34:28 AM
8/10/2010 11:34:28 AM
如果您希望与.NET Framework命名约定一致,请使用camelCase(而不是PascalCase)作为本地变量。 – zneak 2010-08-10 04:45:43