9. DataWindow: dw_where属性:
| X = 46 Y = 120 Width = 2459 Height = 448 TabOrder = 40 Visible = true Enabled = true DataObject = "d_where" VScrollBar = true Border = true BorderStyle = stylelowered! |
9.1 DataWindow: dw_where的 editchanged 事件:
功能:设置"执行"按钮是否有效。
![]() |
9.2 DataWindow: dw_where的itemchanged 事件:
功能:见代码中的注释。
| string colname,colvalue, logvalue long currow ib_changed = true cb_exec.Enabled = True currow = GetRow() If MaxEditRow < Currow Then MaxEditRow = currow // MaxEditRow 为当前已编辑过的最大行的行号。实例变量。 colname = GetColumnName() colvalue = GetItemString(currow,colname) Choose Case dwo.name Case 'dispvalue' Object.value[row] = data Case Else End Choose //设置当前行的operator的初始值为"=" //设置上一行的logical的初始值为"and" if colname = "column1" then if colvalue = "" or isnull(colvalue) then SetItem(currow,"operator","=") if currow >= 2 then colvalue = GetItemString(currow - 1,colname) logvalue = GetItemString(currow - 1,"logical") if colvalue <> "" and (logvalue = "" or isnull(logvalue)) then SetItem(currow - 1,"logical","and") end if end if end if end if //检查并设置左括号。 long ll, i colvalue = GetText() if colname = "precol" then if colvalue <> "" and not isnull(colvalue) then ll = len(colvalue) colvalue = "" For i = 1 to ll colvalue += "(" Next SetItem(currow,"precol",colvalue) this.Settext(colvalue) Return 2 end if end if |
9.3 DataWindow: dw_where的losefocus 事件:
| AcceptText() |
9.4 DataWindow: dw_where的rbuttondown 事件:
功能:设置弹出式菜单。
![]() |
注释:
(1) m_cpq_rbutton_paste菜单的属性和代码如下:
| 1.MenuItem = m_1 "a1" Visible = true Enabled = true 2.MenuItems for m_1 MenuItem = m_value "&V.取现有值" Visible = true Enabled = true 3.Script for: nt clicked event long ll_pos String sSyntax,ls_parm,ls_data,ls_disp datawindow dwp dwp = Message.PowerObjectParm sSyntax = Message.StringParm if sSyntax = "" or isNull(sSyntax) then beep(3) return end if OpenWithParm(w_paste,sSyntax) //w_paste为响应式窗口 ls_parm = Message.StringParm if ls_parm <> "cancel" then ll_pos = Pos ( ls_parm,'/') If ll_pos = 0 Then ls_data = ls_parm ls_disp = ls_parm Else ls_data = Left ( ls_parm , ll_pos - 1 ) ls_disp = Mid ( ls_parm , ll_pos + 1 ) End If dwp.SetItem(dwp.GetRow(),"value",ls_data) dwp.SetItem(dwp.GetRow(),"dispvalue",ls_disp) dwp.AcceptText() end if 5. MenuItem = m_clear "&D.清除本列" Visible = true Enabled = true 6. Script for: clicked event datawindow dwp dwp = Message.PowerObjectParm dwp.DeleteRow(0) dwp.InsertRow(0) End of Script MenuItem = m_return "&N.返回" Visible = true Enabled = true |
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- SQL Server 索引和查询专题 (3320篇文章)
- 在PB中如何实现数据模糊查询 (1300次浏览)
- 用PB开发多媒体数据库管理系统 (700次浏览)
- PB8.0应用程序编译发布技术研究 (661次浏览)
- 如何发布独立的POWERBUILDER应用 (638次浏览)
- 用Powerbuilder开发WEB数据库 (578次浏览)
- 低级键盘钩子屏蔽Win键、Alt+Tab键的响应 (511次浏览)
- 浅谈PB中动态DataWindow的技术应用 (511次浏览)
- 用PB做一个通用右键菜单 (503次浏览)
- PowerBuilder应用开发系列讲座(9) (489次浏览)
- 怎样在pb中得到存储过程的值 (447次浏览)





