|||
在很多业务中,修改了数据,需要记录日志信息。平台提供了一个非常好用的方法可以使用。
GetDatatableModifiedInfo(dt,keyField1,KeyValue2,...)
GetDatatableModifiedInfo返回的新dt中有三个字段:ColumnName,OldValue,NewValue
1、下面是示例在记录部件上记录发生变化的字段。
下面是按钮“显示变更的数据”的脚本代码:
'判断修改前和修改后的值,用于记录日志。可以在任意绑定了数据表的部件上使用。
'GetDatatableModifiedInfo(dt,keyField1,KeyValue2,...)
'KeyField1,KeyValue2...可以设置,也可以不设置,设置了后,即把原来dt的字段加到新dt中,比如网格里面可能多条数据发生变化,就需要记录一个关键值用于查询使用。
'GetDatatableModifiedInfo返回的新dt中有三个字段:ColumnName,OldValue,NewValue
'分别表示变更的字段名(实际名),原值,新值
dim dt= GetDatatableModifiedInfo(记录部件1.DataTable,"ID")
dim Change_str=""
Dim field
for each dr in dt.Rows
'获取字段的显示名称
field=记录部件1.GetItemControlByFieldName(dr["ColumnName"])
Change_str=Change_str&field.Text&":"&dr["OldValue"]&"-->"&dr["NewValue"]&";"
next
if len(Change_str)>0 then
Change_str=Mid(Change_str,0,len(Change_str)-1)
msgbox(Change_str)
end if
2、下图是示例在网格部件上记录发生变化的字段。
下面是按钮“显示变更的数据”的脚本代码:
dim dt= GetDatatableModifiedInfo(网格部件1.DataTable,"DEPT_ID","TREE_CODE")
网格部件2.DataTable=dt
网格部件2.RefreshDataByDataTable()
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.