C# bindingsource的行状态不会改变

bdMain是BindingSource对象

bdMain.DataSource = datatable;
 DataRowView row = bdMain.Current as DataRowView;
 Console.WriteLine(row.Row.RowState);
 row["CANCELREMARK"] = dialog.invalidResult;
 Console.WriteLine(row.Row.RowState);

得到的结果都是
unchange
unchange
请问是什么原因

试试看
datatable.Rows[0][0] = xxx
看看会不会改变

RowState是关联Row的状态属性,Row是一个被DataRowView包装的DataRow对象
改动DataRowView(视图)貌似不能直接影响其RowState属性。你修改了View(视图层)数据时未能联动修改其逻辑层数据(DataRow)

datatable没有相关事件提示UI数据更新的,建议绑定 BindingList类型