当前位置: 代码迷 >> PB >> datawindow设置值有关问题
  详细解决方案

datawindow设置值有关问题

热度:73   发布时间:2016-04-29 10:11:58.0
datawindow设置值问题
PB11.5 sqlserver2005  
业务:在dw_1里有一项输入物料buy_item,该输入必须是物料表t_item已经存在的,如果不存在,清空数据。
问题:无法设置为空【this.setItem( row, 'buy_item', ''),Data = '',this.setvalue( 'buy_item', row, '')】
  都不行,在messsagebox的一瞬间,该buy_item是被改变了,但是一确定值又变成原来的值了。

This.AcceptText( )
IF dwo.Name = "buy_item" THEN
SELECT count(*) Into :i From t_item Where item_name = :Data;
IF i < 1 THEN
//this.setItem( row, 'buy_item', '')
Data = ''
//this.setvalue( 'buy_item', row, '')
MessageBox("提示","请选择已入库物料")
END IF
END IF

------解决方案--------------------
//ItemChanged事件不使用AcceptText()函数
//This.AcceptText( )

String ls_old
IF dwo.Name = "buy_item" THEN
SELECT count(*) Into :i From t_item Where item_name = :Data;
IF i < 1 THEN
ls_old = this.GetItmeString(row, "buy_item")
MessageBox("提示","请选择已入库物料")

//设置回之前的数据
this.SetItem(row, "buy_item", ls_old)
Return 2
END IF
  相关解决方案