-- 作者:xjpxjp1972
-- 发布时间:2012/4/6 11:19:00
-- 复制
此主题相关图片如下:qq截图20120406111619.jpg
有一个问题,当我在年度列输入一个新值,当新值和旧值不一样时,保存新值并复制增加当前行其他列值,于是我在datachanging加入了以下代码,
Select Case e.DataCol.Name Case "年度" If e.NewValue<> e.OldValue AndAlso e.NewValue > "" AndAlso e.OldValue > "" Then Dim nb As DataRow = e.DataTable.AddNew For Each dc As DataCol In e.DataTable.DataCols nb(dc.Name) = e.DataRow(dc.Name) Next End If End Select
但会出现一个问题,就是会出现两行一样的数据,后来,我又在datachanged加入以下代码,
Select Case e.DataCol.name Case "年度","编号" Dim dr As DataRow = e.DataRow If dr.IsNull("年度") = False AndAlso dr.IsNull("编号") = False Then If e.DataTable.Compute("Count([_Identify])","年度 = \'" & dr("年度") & "\' And 编号 = \'" & dr("编号") & "\'") > 1 Then MessageBox.Show("已经存在相同数据的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.DataRow(e.DataCol.Name) = e.OldValue End If End If End Select
用来删除重复的数据行
现在的问题是,当我选择一个不同的年度值时,它会因为值重复而删除原先复制增加的数据行,
现在我想,当我选择不同年度值时,复制增加新行时,将新值保存在新复制增加的数据行中
|