怎么没有人理俺泥?? 关于dw的问题

qlzgdzfl 2002-03-15 05:47:21
感谢各位对俺的帮助! 俺的目的不是这样的, 俺没有说明白, 请家再看看
一窗口中,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

各位看看, 那个地方不对,
...全文
51 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧