锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
domino鏂囨。鏁版嵁搴撶殑寮婄梾
鑰屼笖 FTSearch鏌ヨ璧鋒潵涔熶笉寰堝噯紜紝涓夊瓧絎︿竴涓嬫煡璇紝鍛戒腑鐜囦笉鏄崄鍒嗛珮錛屽ぇ綰?80%-95%
2錛?br />
entry is no longer in view閿欒鐨勯伩鍏嶆柟娉曟槸
鐢∟otesViewEntry.IsValid鏂規硶鍏堝垽鏂偅 Entry鏄惁鑳借皟鐢?br />
濡傛灉涓嶆槸璋冪敤閲岄潰寰堝鏂規硶 閮戒細鎶?nbsp; entry is no longer in view錛屽氨綆?IsDocument涔熸病鐢ㄥ
浣嗚繖鏍鳳紝濡傛灉鏄嚜宸辨墜鍔ㄥ垎欏碉紝灝變細鍑虹幇 GetNthEntry鏃跺欎笉澶噯紜?br />
浣嗘病鍔炴硶浜嗭紝涓よ呭紛錛屽彇鍏惰交
涓昏鏄鎴蜂綋楠屽彈鐐瑰獎鍝嶄簡
]]>
鍒嗛〉瑕佽嚜宸遍噸鍐欙細鍦?extnd-all-debug閲嶅啓鎷垮彇鏁版嵁閮ㄥ垎
//鑷繁閲嶅啓鍒嗛〉鎷挎暟鎹殑鏂規硶錛岃繖鏍鋒暟鎹鏁頒細姝g‘鐜板疄
var ds = new Ext.nd.data.DominoViewStore({
proxy: new Ext.data.HttpProxy({
url: Ext.nd.extndUrl+'GetView?OpenAgent',
method: "GET"
}),
baseParams: {db: "/"+Ext.nd.Session.CurrentDatabase.FilePath, vw: this.viewName },
reader: viewEntryReader,
remoteSort: true
});
銆傘傘傘傘傘傘傘傘傘傘傘傘傘傘?br />
getView鐨刲s浠g悊濡備笅
'GetView:
Option Public
Option Explicit
Sub Initialize
%REM
This agent can be called from the web to search any view and return results in the
same format as the ?ReadViewEntries command. This was created for use with the
NotesView2 class v1.3 and above.
%END REM
On Error Goto ErrorHandler
Dim session As New NotesSession
Dim dbSearch As NotesDatabase
Dim colEntries As NotesViewEntryCollection
Dim vwSearch As NotesView
Dim entryResult As NotesViewEntry
Dim docCurrent As NotesDocument
Dim docResult As NotesDocument
Dim col As NotesViewColumn
Dim strQuery As String
Dim strDb As String
Dim strView As String
Dim strCategory As String
Dim intMax As Integer
Dim lngCount As Long, i As Long
Dim lngStart As Long, lngEnd As Long
Dim strParameters As String
Dim lngResults As Long
Dim x,n As Integer
Dim xmlStr,resortdescending ,resortascending As String
Dim nav As NotesViewNavigator
'start the xml document
Print "Content-Type:text/xml;"
Print "<?xml version=""1.0"" encoding=""gb2312""?>"
'first we get the search parameters out of the querystring
'db, vw, query, searchmax, count, and start
Set docCurrent = session.DocumentContext
strParameters = docCurrent.GetItemValue("Query_String")(0)
'Msgbox strParameters
strDb = GetParameter("db",strParameters)
strDb = Replace(Strright(strDb,"/"),"/","\")
strView = GetParameter("vw",strParameters)
strQuery = GetParameter("query",strParameters)
strCategory= GetParameter("RestrictToCategory",strParameters)
resortdescending=GetParameter("resortdescending",strParameters)
resortascending=GetParameter("resortascending",strParameters)
intMax = 0
If Isnumeric(GetParameter("searchmax",strParameters)) Then intMax = Cint(GetParameter("searchmax",strParameters))
lngCount = 20
If Isnumeric(GetParameter("count",strParameters)) Then lngCount = Clng(GetParameter("count",strParameters))
lngStart = 1
If Isnumeric(GetParameter("start",strParameters)) Then lngStart = Clng(GetParameter("start",strParameters))
'now we get the view to search
Set dbSearch = session.GetDatabase("",strDb,False)
Set vwSearch = dbSearch.GetView(strView)
'Msgbox resortdescending +" && "+resortascending
'now we run the search
If strCategory="" Then
Set colEntries = vwSearch.AllEntries
Else
Set colEntries = vwSearch.GetAllEntriesByKey(strCategory)
End If
lngResults=colEntries.Count
'now we spit out the results
Print "<viewentries toplevelentries=""" & Cstr(lngResults) & """>"
'set the starting point for the loop
If lngStart > lngResults Then lngStart = lngResults
'set the ending point for the loop
lngEnd = lngStart + lngCount - 1
If lngEnd > lngResults Then lngEnd = lngResults
'now loop through the appropriate subset of results and print out a viewentry tag for each one
i = lngStart
While i <= lngEnd
If i = lngStart Then
Set entryResult = colEntries.GetNthEntry(i)
Else
Set entryResult = colEntries.GetNextEntry(entryResult)
End If
If Not entryResult Is Nothing Then
'If Not entryResult Is Nothing And entryResult.IsValid Then
'If entryResult.IsDocument Then
Set docResult = entryResult.Document
Print "<viewentry position=""" & Cstr(i) & """ unid=""" & Cstr(docResult.universalID) & """ noteid=""" & Cstr(docResult.NoteID) & """ siblings=""" & Cstr(entryResult.SiblingCount) & """>"
x = 0
n=0
Forall value In entryResult.ColumnValues
Set col=vwSearch.Columns(x)
If Not col.isCategory And Not col.IsHidden Then
Print "<entrydata columnnumber=""" & Cstr(n) & """ name=""" & col.itemName & """>"
Print "<text>" & XMLEscape(GetValue(value,Cstr(docResult.universalID))) & "</text>"
Print "</entrydata>"
n=n+1
End If
x = x + 1
End Forall
Print "</viewentry>"
'End If
End If
i = i + 1
Wend
AtEnd:
Print "</viewentries>"
''''Msgbox xmlStr
Print xmlStr
vwSearch.Clear
Set dbSearch=Nothing
Set vwSearch=Nothing
Exit Sub
ErrorHandler:
Msgbox "<error>" & "Error in ($Ext.nd.SearchView): " & Error & "---at " & Erl & "</error>"
Print "<error>" & "Error in ($Ext.nd.SearchView): " & Error & "---at " & Erl & "</error>"
Resume AtEnd
End Sub
Function GetParameter(strParamName As String, strQuery As String) As String
'this gets a parameter out of a querystring
Dim i As Integer
Dim s As String
Dim v As Variant
GetParameter = ""
i = Instr(Ucase(strQuery),"&" & Ucase(strParamName) & "=")
If i <> 0 Then
s = Strright(Mid(strQuery, i),"=")
If Instr(s, "&") Then
s = Strleft(s, "&")
End If
v = Evaluate("@UrlDecode(""Domino""; """ & s & """)")
GetParameter = Cstr(v(0))
End If
End Function
Function XMLEscape(strValue As String) As String
'this escapes a string so it can be printed out to xml safely
strValue = Replace(strValue, "&" , "&")
strValue = Replace(strValue, "<" , "<")
strValue = Replace(strValue, ">" , ">")
XMLEscape = strValue
End Function
Function GetValue(strValue As Variant,id As String) As String
On Error Goto sErr
'Forall vs In strValue
' Msgbox "vs=" & Cstr(vs)
'End Forall
GetValue=Cstr(strValue)
Exit Function
sErr:
GetValue="鏂囨。" & id
Exit Function
End Function
鏈夊叴瓚e彲浠ョ爺絀朵笅 ext-js鐨凙JAX妗嗘灦錛岀‘瀹炲緢鏈夎叮