DataViewRowState.ModifiedCurrent和.ModifiedOriginal状态下取出值一样? dTable在修改后是不是已经update到数据库或者执行了AcceptChange的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该没有取值的源码如下DataTable dTable = (DataTable)dataGridView1.DataSource; DataRow[] modified1, modified2; List<string> tableNamesCurrents = new List<string>(); List<string> tableNamesOriginals = new List<string>(); switch (_TableNameEN.ToLower()) { case "sys_table": modified1 = dTable.Select(null, null, DataViewRowState.ModifiedCurrent); foreach (DataRow dr in modified1) { tableNamesCurrents.Add(dr["TableNameEN"].ToString()); } modified2 = dTable.Select(null, null, DataViewRowState.ModifiedOriginal); foreach (DataRow dr in modified2) { tableNamesOriginals.Add(dr["TableNameEN"].ToString()); } break; } DataTable.Select返回的是DataRow的集合,而DataRow实际上已经包括了新旧的数据。DataTable table = new DataTable();table.Columns.Add("value", typeof(int));table.Rows.Add(1);table.AcceptChanges();table.Rows[0]["value"] = 2;DataRow modifiedRow = table.Select(null, null, DataViewRowState.ModifiedOriginal)[0];int oldValue = modifiedRow.Field<int>("value", DataRowVersion.Original); // 1int newValue = modifiedRow.Field<int>("value", DataRowVersion.Current); // 2// 如果只要一个版本,可以用DataViewDataRowView rowView = new DataView(table, null, null, DataViewRowState.ModifiedOriginal)[0];int original = (int)rowView["value"]; // 1 不好意思错误 2 “System.Data.DataRow”不包含“Field”的定义,并且找不到可接受类型为“System.Data.DataRow”的第一个参数的扩展方法“Field”(是否缺少 using 指令或程序集引用?) 如何支持.Field<int>?? int oldValue = (int)modifiedRow["value", DataRowVersion.Original]; 怎样把DataGridView最左边那列去掉? 有没有人用.net(c#)搞过三维地理信息开发 字符串数组和数据库匹配问题 关于监控软件的使用和u盘的使用 一直以来我没想明白的问题。 引用 请教高手:如何得到treeview中最后一层选中的行文本? 如何把这两句vb.net翻译成c#? 在.net中使用Com+ 添加事件注册,在方法体里,如何调用自身的方法和属性 非常奇怪的问题,求高人指点! 求助:webbrowser模拟点击网页按钮问题
DataRow[] modified1, modified2;
List<string> tableNamesCurrents = new List<string>();
List<string> tableNamesOriginals = new List<string>();
switch (_TableNameEN.ToLower())
{
case "sys_table":
modified1 = dTable.Select(null, null, DataViewRowState.ModifiedCurrent);
foreach (DataRow dr in modified1)
{
tableNamesCurrents.Add(dr["TableNameEN"].ToString());
}
modified2 = dTable.Select(null, null, DataViewRowState.ModifiedOriginal);
foreach (DataRow dr in modified2)
{
tableNamesOriginals.Add(dr["TableNameEN"].ToString());
}
break;
}
DataTable table = new DataTable();
table.Columns.Add("value", typeof(int));
table.Rows.Add(1);
table.AcceptChanges();
table.Rows[0]["value"] = 2;DataRow modifiedRow = table.Select(null, null, DataViewRowState.ModifiedOriginal)[0];
int oldValue = modifiedRow.Field<int>("value", DataRowVersion.Original); // 1
int newValue = modifiedRow.Field<int>("value", DataRowVersion.Current); // 2// 如果只要一个版本,可以用DataView
DataRowView rowView = new DataView(table, null, null, DataViewRowState.ModifiedOriginal)[0];
int original = (int)rowView["value"]; // 1
不好意思
错误 2 “System.Data.DataRow”不包含“Field”的定义,并且找不到可接受类型为“System.Data.DataRow”的第一个参数的扩展方法“Field”(是否缺少 using 指令或程序集引用?) 如何支持.Field<int>??