这篇文章给大家分享的是有关数据库中如何实现网格部件判断字段不能为空的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在最近的开发中,发现上一次发的网格部件判断字段不能为空的代码,还存在不足:
如果在保存前将网格中某条数据用下面代码删除:
if showquestion("确定要删除焦点行吗?") then
采购计划打分详细.DeleteFocusedRow()
end if
那么在执行上一贴中代码时,就会报错。
改进示例:
'提交单元和数据到行
采购计划打分详细.PostEditor()
'提交行数据到DataTable
采购计划打分详细.GridView.UpdateCurrentRow()
'批量添加打分ID
采购计划打分详细.SetColumnValue("打分ID",记录部件1.GetFieldValue("ID"),1)
'BeginTrans()
'这儿操作数据库。
记录部件1.SaveData()
采购计划打分详细.SaveData()
'判断事务执行结果
if CommitTrans()=false then
showerror(GetTransMessage())
end if
dim A = 0
dim dt=采购计划打分详细.DataTable
'保存前询问“这些年度采购计划是否已经在会上讨论过?”
if ShowQuestion("这些年度采购计划是否已经在会上讨论过?") then
for each dr in dt.Rows
if isnull(dr["总分"]) or isnull(dr["审批情况"]) then
A = 1
exit for
end if
next
else
for each dr in dt.Rows
if isnull(dr["总分"]) then
A = 2
exit for
end if
next
end if
if A = 1 then
ShowInformation("请将【审批情况】、【总分】填写完整")
dim b=采购计划打分详细.AddColumnStyleByExpression("审批情况","[审批情况] is null",True)
b.Appearance.ForeColor=Color.FromArgb(-65536)
dim c=采购计划打分详细.AddColumnStyleByExpression("总分","[总分] is null",True)
c.Appearance.ForeColor=Color.FromArgb(-65536)
else if A = 2 then
ShowInformation("请将【总分】填写完整")
dim d=采购计划打分详细.AddColumnStyleByExpression("总分","[总分] is null",True)
d.Appearance.ForeColor=Color.FromArgb(-65536)
else
me.Output1 = "Y"
ShowInformation("保存成功")
me.Close()
end if
感谢各位的阅读!关于“数据库中如何实现网格部件判断字段不能为空”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!