有如下方法: public static void TrimText<FT>(FT frm, Control control)
{
foreach (Control ctrlTemp in control.Controls)
{
if (ctrlTemp.GetType() == typeof(DevExpress.XtraEditors.TextEdit) || ctrlTemp.GetType() == typeof(TextBox))
{
//ToDBC和InputText方法分别为全角转半角和过滤危险字符
ctrlTemp.Text = ToDBC(ctrlTemp.Text);
ctrlTemp.Text = InputText(ctrlTemp.Text, ctrlTemp.Text.Length);
}
TrimText(frm,ctrlTemp);
}
}
此方法完成对某一控件的子控件类型为TextBox和TextEdit(第三方控件)的Text值进行规范 最终影响DataTable 中数据 控件的Text属性绑定bdsc某一个字段(bdsc绑定到强DataSet中的DataTable ) 首次执行此方法不会出现问题 当新增失败后(数据库重复验证)改变输入值 再次调用此方法后 监视bdsc当前项和DataTable中字段值已经改变 但利用DataSet的GetChange()方法得到的改变后的DataSet仍为第一次新增时的数据 望高手指点一二
{
foreach (Control ctrlTemp in control.Controls)
{
if (ctrlTemp.GetType() == typeof(DevExpress.XtraEditors.TextEdit) || ctrlTemp.GetType() == typeof(TextBox))
{
//ToDBC和InputText方法分别为全角转半角和过滤危险字符
ctrlTemp.Text = ToDBC(ctrlTemp.Text);
ctrlTemp.Text = InputText(ctrlTemp.Text, ctrlTemp.Text.Length);
}
TrimText(frm,ctrlTemp);
}
}
此方法完成对某一控件的子控件类型为TextBox和TextEdit(第三方控件)的Text值进行规范 最终影响DataTable 中数据 控件的Text属性绑定bdsc某一个字段(bdsc绑定到强DataSet中的DataTable ) 首次执行此方法不会出现问题 当新增失败后(数据库重复验证)改变输入值 再次调用此方法后 监视bdsc当前项和DataTable中字段值已经改变 但利用DataSet的GetChange()方法得到的改变后的DataSet仍为第一次新增时的数据 望高手指点一二
可以查看你修改的
原始版本和新版本了
具体自己调试了
custRow["CustomerID", DataRowVersion.Original].ToString();DataRowVersion 值 说明
Current
行的当前值。对于 RowState 为 Deleted 的行,则不存在此行版本。
Default
特定行的默认行版本。Added、Modified 或 Unchanged 行的默认行版本是 Current。Deleted 行的默认行版本是 Original。Detached 行的默认行版本是 Proposed。
Original
行的原始值。对于 RowState 为 Added 的行,则不存在此行版本。
Proposed
行的建议值。在对行进行编辑操作期间,或对于不属于 DataRowCollection 的行,存在此行版本。
或者什么地方你AcceptChanges()了