2015-05-15 39 views
0

我創建了一個功能,可以獲取列在我的視圖中的所有數據庫。之後,我遍歷所有文檔,並可以使用computedFields在數據表中相應地顯示它們。如果在數據表中選擇了組合框,則獲取數據庫

下面是我的代碼:

try 
{ 
var viewDocs:java.util.Vector = new java.util.Vector(); 

var relcol = database.search("Form='dbPick_Kappa'"); 

var bazu_skaits= relcol.getCount(); 
var doc:NotesDocument = relcol.getFirstDocument(); 
var alldocs:java.util.Vector = new java.util.Vector(); 

for (j=1;j<bazu_skaits+1;j++) 
{ 
    viewDocs.add(doc); 

    var serveris = doc.getItemValueString("Server_P"); 
    var datubaze = doc.getItemValueString("Filename_P"); 

    var db:NotesDatabase = session.getDatabase(serveris, datubaze,false); 
    var sender = getComponent("senderBox").getValue(); 
    var allrelevant:NotesDocumentCollection = db.search("StatusFlag='" + sender + "'"); 
    var skaits = allrelevant.getCount(); 
    var tmpDoc = allrelevant.getFirstDocument(); 

    for (i=1;i<skaits+1;i++) 
    { 
     alldocs.add(tmpDoc); 
     tmpDoc = allrelevant.getNextDocument(tmpDoc); 
    } 

    doc = relcol.getNextDocument(doc); 
} 
return alldocs; 

} 
catch(e) 
{ 
    kk = e.toString(); 
} 

代碼工作確定,如果我要選擇,我必須在我看來所有的數據庫。我在想什麼有一種方法可以選擇我需要的數據庫,並在數據表中包含一個複選框?所以通過doig這個我可以檢查複選框,如果它被選中,它將返回在其附近選中了複選框的數據庫。希望有人會明白我想要達到的目標。

回答

1

像查看面板,數據視圖等數據迭代器將有一個getSelectedIds()方法,將允許您獲取所選元素的NoteID的當前頁面的視圖。我不確定這是否在DataTable中,但如果您顯示視圖條目,則DataTable與View Panel相比幾乎沒有什麼優勢。 View Panel還允許您將組件添加到列中,您只需將組件的XML複製並粘貼到源窗格中的相關位置 - 拖放操作將移動View Panel外的任何組件。另外,你應該養成循環回收的習慣(除非你使用OpenNTF Domino API,它可以幫你實現)。如果在請求期間訪問足夠多的Domino對象(頁面加載/部分刷新),則不這樣做可能會導致服務器崩潰。看到這篇博文http://www.intec.co.uk/the-perils-of-getcolumnvalues-get0/

相關問題