Reports 模組極簡單強大:用 SELECT 將既有資料重組為新模組。新版支援 Visualizer(視覺化器),列表呈現方式開放(Grid/HTML/XSL),我期望將此特性引入 RedstartForm 列表介面。
Reports 提供四個核心參數:
Public Shared Function BuildParameters(ByVal SrcModule As PortalModuleBase) As Dictionary(Of String, Object)
Dim dict As New Dictionary(Of String, Object)
If SrcModule IsNot Nothing Then
dict.Add("PortalID", SrcModule.PortalId)
dict.Add("TabID", SrcModule.TabId)
dict.Add("ModuleID", SrcModule.ModuleId)
dict.Add("UserID", SrcModule.UserId)
End If
Return dict
End Function
有了 UserID,原則上可查詢所有用戶相關資料。
新增 Reports 模組,Host 身分設定 SQL:
SELECT DisplayName AS 名稱 FROM Users WHERE UserID=@UserID
即可在頁面動態顯示登入用戶名稱。
IFrame 提供更多參數(下拉選單可見),因其無法寫 SQL,需預置更多上下文。我曾擴充加入 PortalAlias 參數,解決區域網/外網、IP/域名混合訪問時 iframe 目標系統地址不一致問題。
RedstartForm 採 {UserID} {ModuleID} 大括號語法,括號內識別為參數,外部不識別。此設計有特定考量,後續將詳細說明。