来自 Datagridview C# 的审计表
Posted
技术标签:
【中文标题】来自 Datagridview C# 的审计表【英文标题】:Audit Table from Datagridview C# 【发布时间】:2014-09-15 01:47:42 【问题描述】:我有一个绑定到数据源的数据网格视图,该数据源被编程为使用更新功能进行所有数据库访问。因此,如果我单击提交按钮,它将简单地调用更新函数,检查是否有任何新行、已删除行或已编辑行并调用相关的 sql 命令。
我的问题是,有没有办法确定为了创建审计表而编辑了哪个单元格?然后我可以使用这些信息来获取已更改的列并创建一个表。
【问题讨论】:
我不是这些方面的专家,但在我工作的地方,数据库设置了称为触发器的东西,当更新/删除某些内容并将数据输入审计表时触发。如果您希望数据库级别处理它,您可能希望查找这些。 是的,这是我目前正在研究的解决方案。但我不确定数据集是否有某种方式来区分编辑 【参考方案1】:使用事件来处理,例如
DataGridView.CellValueChanged
【讨论】:
【参考方案2】:您可以像下面这样检查DataTable的DataRow.RowState Property
foreach(DataRow dr in ds.Tables["mytable"].Rows)
if(dr.RowState == "Modified")
//Do whatever you want to do Here
【讨论】:
唯一的问题是我仍然需要找到更改后的列。我想如果我将此与 Rob 的答案结合起来,我可以查明更改的值以上是关于来自 Datagridview C# 的审计表的主要内容,如果未能解决你的问题,请参考以下文章
使用查找组合框 c# 绑定 Datagridview 多列排序
使用来自另一个表单的数据更新 datagridview (C#)