如何訪問powerbuilder中datawindow中列名和該列的基礎表名。我可以通過在itemfocuschanged事件中添加一個實例變量並將dwo.name賦給此實例變量來獲取列名。但是如何獲得這個列的表名。powerbuilder中的datawindow中的列表
如果我在窗口中有多個數據窗口控件如何獲取所選數據窗口控件的名稱。
0
A
回答
0
首先通過使用下面的代碼獲得了DW的SQL語句...
ls_sql = this.dw_report.Object.DataWindow.Table.SQLSelect
OR
ls_sql = dw_report.Describe("DataWindow.Table.Select")
然後我用這個自定義函數返回表名稱...
ls_table = f_get_table_name(ls_sql)
「f_get_table_name()」函數的代碼...
//Obtains the main Table name from the passed SQL string
long ll_pos1
long ll_pos2
string ls_table = ""
ll_pos1 = PosA(Upper(as_sql), "FROM")
ll_pos1 = PosA(as_sql, '"', ll_pos1 + 1)
ll_pos2 = PosA(as_sql, '~~', ll_pos1 + 1)
ls_table = MidA(as_sql, ll_pos1 + 1, ll_pos2 - ll_pos1 - 1)
if (ls_table = "" OR isNull(ls_table)) then
ll_pos1 = PosA(Upper(as_sql), "SELECT")
ll_pos1 = PosA(as_sql, ' ', ll_pos1 + 1)
ll_pos2 = PosA(as_sql, '.', ll_pos1 + 1)
ls_table = MidA(as_sql, ll_pos1 + 1, ll_pos2 - ll_pos1 - 1)
end if
if (ls_table = "" OR isNull(ls_table)) then
ll_pos1 = PosA(Upper(as_sql), "WHERE")
ll_pos1 = PosA(as_sql, ' ', ll_pos1 + 1)
ll_pos2 = PosA(as_sql, '.', ll_pos1 + 1)
ls_table = MidA(as_sql, ll_pos1 + 1, ll_pos2 - ll_pos1 - 1)
end if
if (ls_table = "" OR isNull(ls_table)) then
ll_pos1 = PosA(Upper(as_sql), "FROM")
ll_pos1 = PosA(as_sql, ' ', ll_pos1 + 1)
ll_pos2 = PosA(as_sql, ' ', ll_pos1 + 1)
ls_table = MidA(as_sql, ll_pos1 + 1, ll_pos2 - ll_pos1 - 1)
end if
return Trim(ls_table)
0
問題1: 使用dw_a.Describe("<yourcolumn>.dbName")
這將爲您提供colum的數據庫名稱,格式爲tablename.columnname
。然後你可以解析它。
問題1: 不確定你的意思。如果你想知道哪個數據窗口的一個已收到焦點最後,你可以定義一個窗口實例變量(類型的DataWindow),並通過將使用GetFocus
事件的各種數據窗口的:
idw_datawindowfocue = this
雖然我不知道爲什麼你需要這個。你能解釋一下理由嗎?
相關問題
- 1. 如何在PowerBuilder中的DataWindow中處理
- 2. 如何刪除PowerBuilder的DataWindow中的額外列
- 3. 在powerbuilder中將datawindow另存爲文本
- 4. PowerBuilder,DataWindow條件格式化
- 5. 標題組上的複選框Datawindow Powerbuilder
- 6. PowerBuilder 12.5修改後的DataWindow不符合表名所有者的列名
- 7. PowerBuilder 12將DataWindow保存爲Excel
- 8. powerbuilder的datawindow如何執行插入命令
- 9. Powerbuilder Excel-Cell like Datawindow Grid上的編輯功能
- 10. 如何使用PowerBuilder以XML格式導出DataWindow中的所有組頭文件
- 11. 使用什麼邏輯對排序列中包含重複項的PowerBuilder DataWindow的排序行進行排序?
- 12. 如何使用powerbuilder 12.5動態插入數據datawindow
- 13. Powerbuilder Datawindow文本框不會自動換行
- 14. 當需要更新時使用插入PowerBuilder DataWindow
- 15. Powerbuilder,有無論如何獲得uo/datawindow的位置/高度/寬度?
- 16. PowerBuilder - 嵌套報表中的對象
- 17. 在Catel的DataWindow中應用按鈕
- 18. PowerBuilder 12.5.2中的值不在下拉列表
- 19. 在PowerBuilder中的.NET DLL(與COM)問題與列表
- 20. 陣列在PowerBuilder
- 21. 關閉PowerBuilder中的Excel
- 22. PowerBuilder中的SMS服務
- 23. powerbuilder中的autocummit和setTransObject()
- 24. 忽略powerbuilder中的情況?
- 25. powerbuilder中〜t的使用
- 26. Powerbuilder 7中的開放庫
- 27. PowerBuilder中的OLE對象
- 28. PowerBuilder中的工具欄
- 29. 是否可以在Powerbuilder中的表達式中使用列屬性?
- 30. Powerbuilder修改行列