1、让datawindow的列可编辑或不可编辑的两种方法:
1)在datawindow里设置Tab Order 大于0的值,即可
2) 如下代码:
dw_1.object.datawindow.readonly = 'yes' // 可编辑
dw_1.object.datawindow.readonly = 'no' // 不可编辑
2、window窗体的tab控件的tabpage获取焦点的方法:
tab_1.selecttab(n) //n代表第tabpage获取焦点
3、datawindow 获取某行某列的值
this.getitemstring( row, string(dwo.name))
4、
dw_1.settransobject(sqlca) //把数据窗口控件与事务对象关联
dw_1.retrieve()
5、datawindow增加数据
int li_row
li_row = dw_1.insertrow( 0)
dw_1.scrolltorow( li_row)
6、datawindow删除数据
long ll_row
ll_row = dw_1.getrow()
if ll_row<0 then
messagebox('提示','请选择一行')
return
else
dw_1.deleterow( ll_row)
end if
7、datawindow保存数据
String ls_err
string ls_sql
if dw_1.update( )<>1 then
ls_err = sqlca.sqlerrtext
rollback;
messagebox('提示','保存失败,信息'+ls_err)
else
commit;
messagebox('提示','保存成功')
end if
8、获取某行某列的值
ll_colunm = long(i_dw1.object.datawindow.column.count)
//messagebox('',string(i_dw1.rowcount( )) + ' '+string(i_dw1.getrow( )))
for i=1 to i_dw1.rowcount( )
for j = 1 to ll_colunm
ls_colname = i_dw1.describe( '#'+string(j)+'.name')+'_t'
//ls_value = i_dw1.describe( ls_colname+'.text')
//ls_value = string(i_dw1.getitemnumber( i, j))
//i_dw1.getitemnumber( i, j)
if ls_colname = 'func_id_t' then
//messagebox('',ls_value)
messagebox('',i_dw1.getitemstring( i, j))
if ls_value = 'NULL' then
messagebox('保存错误','交易号不能为空')
i_dw1.setrow(i)
i_dw1.setcolumn(j)
i_dw1.scrolltorow( i)
i_dw1.setfocus()
return
end if
end if
next
next
PowerBuilder小知识点
最新推荐文章于 2021-06-12 17:45:19 发布