自定义函数如何将控件作为参数

zqycn518 2011-03-17 11:18:42
比如一个数据窗口 dw_1
程序中有很多相同的操作,要把它定义成一个函数或别的方法

如:


String ls_SQL,ls_where,ls_select
ls_SQL = dw_1.Describe("DataWindow.table.select") //获取数据窗口当前的SQL语句
If Pos(ls_SQL,"where") > 0 Then //如果有where子句(有可能是运行时添加的)
ls_select = Left(ls_SQL,pos(ls_SQL,"where") - 1) //取where前面的内容
Else
ls_select = ls_SQL //如果没有where子句则直接赋值
End If
ls_where = " where username='"+ls_name+"'" //where子句。可以设计界面让用户构造
ls_SQL = ls_select + ls_where//添加where子句
If dw_1.SetSQLSelect(ls_SQL) = 1 Then
dw_1.Retrieve()
End If

需要传入的变量有
ls_name
传入的控件有
dw_1

请问要怎么做






...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqycn518 2011-03-18
  • 打赏
  • 举报
回复
你好,已经解决,
yyoinge 2011-03-17
  • 打赏
  • 举报
回复
yyoinge 2011-03-17
  • 打赏
  • 举报
回复
变量类型,写为datawindow就可以啦
yyoinge 2011-03-17
  • 打赏
  • 举报
回复
PB帮助里面的范例
string ERRORS, sql_syntax

string presentation_str, dwsyntax_str

sql_syntax = "SELECT emp_data.emp_id,"&

+ "emp_data.emp_name FROM emp_data "&

+ "WHERE emp_data.emp_salary > 45000"

presentation_str = "style(type=grid)"

dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, &

presentation_str, ERRORS)

IF Len(ERRORS) > 0 THEN

MessageBox("Caution", &

"SyntaxFromSQL caused these errors: " + ERRORS)

RETURN

END IF

dw_1.Create( dwsyntax_str, ERRORS)

IF Len(ERRORS) > 0 THEN

MessageBox("Caution", &

"Create cause these errors: " + ERRORS)

RETURN

END IF
zqycn518 2011-03-17
  • 打赏
  • 举报
回复
再问一下,请问怎么创建数据窗口控件啊

网上找的方法,可是好像不能用,还是我的操作不对

string ls_sql, ls_present,ls_err, ls_syntax

// 定义数据窗口的数据来源

ls_sql = "select emp_id from employee"

//定义数据窗口显示字符串

ls_present = "style(type=tabular)"

// 得到建立数据窗口对象语法

// 如果错误发生,SyntaxFromSQL 返回一个空字符串

ls_errls_syntax = SQLCA.SyntaxFromSQL(ls_sql, ls_present , ls_err)

// 声明变量
string ls_syntax ,ls_err

ls_errdw_1.Create(ls_syntax, ls_err)

dw_1.SetTransobject(SQLCA)

dw_1.retrieve( )

yyoinge 2011-03-17
  • 打赏
  • 举报
回复
//定义
transation sqlca_other
//使用时
if not isvalid(sqlca_other) then
sqlca_other = create transaction
end if
sqlca_other.DBMS = ''
...
...
connect using sqlca_other;
//不用时
if isvalid(sqlca_other) then
Disconnect using sqlca_other;
destroy sqlca_other
end if
zqycn518 2011-03-17
  • 打赏
  • 举报
回复
谢谢,很详细

再问个问题

请问怎么定义一个事物对象

如SQLCA 是系统默认的,可能数据库多的情况下,需要定义多个
大家好,又见面了!EasyUI又更新了,这次更新内容还是不少的,具体内容请参考下面的更新说明,官方的更新说明中还少了1条,我给补上了。 jQuery EasyUI 1.3.5版本更新内容: Bug(修复) searchbox:修复“searcher”函数提供的“name”参数值错误的问题; combo:修复“isValid”方法无法返回布尔值的问题; combo:修复点击页面某一个combo组件的下拉列表时触发的“onHidePanel”事件会导致页面上其他combo组件的下拉列表被关闭的问题; combogrid:修复某些从combo组件继承来的方法无法使用的问题。 Improvement(改进) datagrid:改进检查行时候的性能; menu:允许追加菜单分隔符; menu:新增“hideOnUnHover”属性用于在鼠标离开菜单的时候指示是否需要隐藏菜单; slider:新增“clear”和“reset”方法; tabs:新增“unselect”方法、“onUnselect”事件; tabs:新增“selected”属性,用于指定的默认打开的面板; tabs:Tab Panel(Tab页)新增“collapsible”属性,用于设置是否允许摺叠面板; tabs:新增“showHeader”属性、“showHeader”方法和“hideHeader”方法; combobox:允许“disabled”属性禁用下拉列表选项; tree:改进数据加载时候的性能; pagination:新增“layout”属性,用于自定义控件的样式布局; accordion:新增“unselect”方法、“onUnselect”事件; accordion:新增“select”和“multiple”属性; accordion:新增“getSelections”方法; datebox:新增“sharedCalendar”属性,允许多个datebox控件共享使用同一个calendar控件。 datebox:新增“buttons”属性,用于自定义日历下方的按钮。 (译者注:该点更新内容官方更新公告上没有注明,具体内容和用法请看datebox的API。) 历史版本: - jQuery EasyUI 1.3.4 离线API简体中文版 http://download.csdn.net/detail/richie696/6302785 - jQuery EasyUI 1.3.4 离线API简体中文版 http://download.csdn.net/detail/richie696/5363933

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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