re 关于dw的同步问????????????
感谢各位对俺的帮助! 俺的目的不是这样的, 俺没有说明白, 请家再看看
一窗口中,dw1,dw2
两者的字段一样,dw1 为gird ,dw2为free 格式
大家看看代码就知道了:想实现的功能在/**与***/中
(1)w 的open
dw_ckgl.SetTransObject (SQLCA)
dw_ckgl.retrieve()
dw_ckgl1.SetTransObject (SQLCA)
dw_ckgl1.retrieve()
dw_ckgl.Object.DataWindow.ReadOnly = true
dw_ckgl1.Object.DataWindow.ReadOnly = true
dw_ckgl.SetRowFocusIndicator(hand!)
/*****************
int row_count
select count(*)
into :row_count
from t_clxx;
if row_count <= 0 then
dw_ckgl1.insertrow(0)
cb_add.enabled = true
cb_del.enabled = false
cb_edit.enabled = false
cb_save.enabled = false
else
cb_add.enabled = true
cb_del.enabled = true
cb_edit.enabled = true
cb_save.enabled = false
end if
******************/这段是不是太啰嗦??
(2,cb_add)
integer c_count
dw_ckgl1.Object.DataWindow.ReadOnly = false
dw_ckgl1.reset()
dw_ckgl1.insertrow(0)
/****************
SELECT count(*)
INTO :c_count
FROM "t_clxx" ;
dw_ckgl1.setitem(li_getrow,"number",c_count+1)
/*************这一句是取表中number中最大的值使number+1, 但这样不行, 如果删除记录后,再加记录number的值就会重复了, number 为主键在加记录时不能改,如何实现些功能? 从表中一个个判断太啰嗦了, 那位有更那好办法??*********/
dw_ckgl1.setfocus()
cb_add.enabled = false
cb_del.enabled = false
cb_edit.enabled = false
cb_save.enabled = true
(3)cb_edit
dw_ckgl1.Object.DataWindow.ReadOnly = false
dw_ckgl1.setfocus()
cb_add.enabled = false
cb_del.enabled = false
cb_save.enabled = true
cb_edit.enabled = false
(4)cb_save
if dw_ckgl1.update(true,false) = 1 then
COMMIT USING SQLCA;
MessageBox("系统提示!","保存资料成功!" )
dw_ckgl1.Object.DataWindow.ReadOnly = true
dw_ckgl.Object.DataWindow.ReadOnly = true
/***************
dw_ckgl.SetTransObject(SQLCA)
dw_ckgl.Retrieve()
dw_ckgl1.SetTransObject(SQLCA)
dw_ckgl1.Retrieve()
/**这是原先的代码,根本不能滚到dw_ckgl1刚添加或者修改的那一条的那一条中,这样的话如何现实???
cb_add.enabled = true
cb_edit.enabled = true
cb_del.enabled = true
cb_save.enabled = false
else
ROLLBACK USING SQLCA;
MessageBox("系统提示!","保存输入资料失败!" ,StopSign!)
dw_ckgl1.setfocus()
cb_save.enabled = true
return
end if
(5)cb_del
int row_count
if messagebox('系统提示!','是否确认删除此记录?',information!,YesNo!,2) = 1 then
dw_ckgl.Deleterow(dw_ckgl.getrow())
dw_ckgl.UPDATE()
dw_ckgl1.UPDATE()
commit using sqlca;
dw_ckgl1.Object.DataWindow.ReadOnly = true
dw_ckgl.Object.DataWindow.ReadOnly = true
/***这样的话如何使dw_ckgl和dw_ckgl1同时滚到删除后的记录???
select count(*)
into :row_count
from t_clxx;
if row_count <= 0 then
cb_add.triggerevent("clicked")
cb_del.enabled = false
cb_edit.enabled = false
cb_save.enabled = false
cb_add.enabled = false
else
cb_del.enabled = true
cb_edit.enabled = true
cb_add.enabled = true
cb_save.enabled = false
end if
else
return
END IF
各位看看, 那个地方不对,不是, 对了,在dw_ckgl 中rowfocuschanged中如何写???