当前位置: 代码迷 >> PB >> PB有关问题,大侠帮帮忙。
  详细解决方案

PB有关问题,大侠帮帮忙。

热度:119   发布时间:2016-04-29 09:45:46.0
PB问题,大侠帮帮忙。。。。。
在一个下拉框中输入一个表的一个属性。
例如:有一个表是系别有两个属性:系号和系名。而在添加学生时,要选择系号(用下拉框)。而系别也是随时可能增加的。所以我想在增加学生时,选系别时,点击下拉框,就能把所有系号都显示出来。
老师说用循环,PB里的循环怎么用呢?要用游标么?
请大侠帮帮忙······

------解决方案--------------------
试一下:
C/C++ code
datastore ds_xbtmpds_xbtmp = create datastorestring error_syntaxfromSQLstring error_createstring new_syntaxstring ls_sql_sint li_i    ls_sql_s = 'select xh as 系号,xm as 系名 from 表'new_syntax = sqlca.syntaxfromsql(ls_sql_s ,'style(type=grid)',error_syntaxfromsql)if len(error_syntaxfromsql) > 0 then    messagebox( '服务器生成临时表错误',error_syntaxfromsql,stopsign!)    returnelse    ds_xbtmp.create(new_syntax,error_create)        ds_xbtmp.settransobject(sqlca)    ds_xbtmp.retrieve()    ddlb_1.reset()        for li_i = 1 to ds_xbtmp.rowcount()        ddlb_1.additem(string(ds_xbtmp.object.系名[li_i]))    next    end if
------解决方案--------------------
1、做一个系的字典信息Dic_Dep(Dep_id,Dep_name),可以根据需要增加删除等了
2、下拉框中的操作就简单了
//读取系的字典信息,读入到下拉框中
long LlRowCount,i
String LsDep_id
dw_1.settransobject(sqlca)//系的信息
LlRowCount = dw_1.retrieve()
For i = 1 to LlRowCount 
LsDep_id = dw_1.getitemstring(i,'dep_id')
ddlb_1.additem(LsDep_id)//是不是这么写忘了,看语法帮助
Next
  相关解决方案