moss
物件模型的重要性相信大家也都明白,前面篇章筆者也已進行的概述,今天在這簡單的用demo補充下
其中同乙個物件分別用不同方法進行實現。
//也可以直接先找到根**
//spweb web = site.rootweb;
//直接在wss上執行可通過當前上下文直接找到當前**
//spweb web = spcontext.current.web;
web.allowunsafeupdates = true;
////
通過文件名直接獲取列表物件
splist list1=web.lists["
共享文件"
];////
通過文件所在的路徑獲取列表物件
//splist list2 = web.getlistfromurl("");
////
通過guid獲取列表物件
//guid listid = new guid("guid");
//splist list3=web.lists[listid];
////
直接通過上下文物件獲取到列表物件
//splist list4 = spcontext.current.list;
//****************************//
//對列表進行相關操作
// list1.title = "microsoft productes";
//給列表新增乙個內容型別
"texting",spfieldtype.text,false);
//設定列表是否顯示到快速啟動欄
=true;
//***************************//
//用**直接建立乙個列表
//guid newlistid = web.lists.add("
微軟產品文件","存放日常的一些產品文件資料",splisttemplatetype.documentlibrary);
// splist newlist = web.lists[newlistid];
= true;
//**************************/
//在進行轉換文件物件(文件庫物件繼承於列表物件,文件庫大部分的操作都可以通過列表的物件模型操作,
//只有涉及到文件庫特殊的操作時候需要文件庫的物件),要獲取文件庫物件首先要獲取相應的列表物件,然後通過型別轉化即可
//spdocumentlibrary doclib = (spdocumentlibrary)list1;
//獲取所有的簽入文件
//ilistcheckeoutdoc = doclib.checkedoutfiles;
//*************************//
//通過檢視api 可以給列表新增檢視,常用的操作有,新增,修改,刪除檢視,檢視物件依賴於列表物件,可以從列表的view集合屬性獲取
//分別可以通過檢視名,檢視id,索引三種方式獲得檢視
//由檢視名獲取
// spview view1=list1.views["
檢視名稱"];
//由檢視id獲取
// spview view2=list1.views[new guid("gudi")];
//由索引獲取
// spview view3=list1.views[0];
//新增檢視(設定顯示字段,過濾,分頁,和預設檢視一樣)
//spview newview = list1.views.add("
新檢視",list1.defaultview.viewfields.tostringcollection(),list1.defaultview.query,list1.defaultview.rowlimit,list1.defaultview.paged,false);
// newview.viewfields.add(list1.fields["2009/4/2"]);
//列表項的相關操作
//輸出所有的列表項
splistitemcollection allitems = list1.items;//
獲取列表項集合
foreach(splistitem item in allitems)
//刪除乙個列表項
//splistitem item1 = list1.items[0];
//新增乙個列表項
//splistitem item2 = list1.items.add();
//item2["
公司位址"]="廣州";
//item2["
生產時間"]="2009/04/01";
//由列表項id獲取乙個列表項的兩種方式
//splistitem item1 = list1.items.deleteitembyid(1);
//splistitem item2 = list1.getitembyid(1);
//獲取到列表項之後,可以通過file獲取到檔案物件,或知道檔案路徑直接通過spweb物件獲取檔案的物件,而對文件庫來說,列表項和檔案物件
//是可以相互轉換的
spdocumentlibrary doclibry = (spdocumentlibrary)list1;
//刪除乙個列表項
// splistitem item3 = list1.items[0];
splistitem item4 = list1.items[1];
//獲取檔案物件
spfile file2 = item4.file;
//開啟檔案資料
byte filedata = file2.openbinary();
//通過檔案url獲取檔案物件
//通過檔案物件獲取到列表項物件
//splistitem item3 = file2.item;
//首先將檔案載入到byt陣列
//開啟乙個檔案,然後將檔案內容讀入乙個字串,最後關閉
byte newfiledata = system.io.file.readallbytes(@"c:"test.doc");
//然後新增到資料夾的檔案集合中
spfile newfile = doclibry.rootfolder.files.add("test.doc",filedata);//
這句**可以看出,列表和檔案的新增有區別:列表是item.add(),
//檔案是通過文件庫資料夾物件file.add(),進行新增的,其中刪除和更改還是一樣的!
web.dispose();
site.dispose();
物件模型 策略 模式 應用 筆記1
每個人都必須學習 應用和理解乙個領域裡的基本原理的過程。人們從策略開始,然後在這個過程中增加一些模式。人們需要這樣的實驗基礎,真正地觀察並體驗完全地利用模式建立初始物件模型產生的深遠影響。1 我們要理解什麼是策略,什麼是模式?策略是可以用來實現特定目標的具體建議。模式是關於相互作用的物件的模板,可以...
c 物件模型
很久之前就想總結一下c 的記憶體使用機制。直到現在剛考完試之制,去實習之前,才有時間完成這事。1.程式使用記憶體區 乙個程式占用的記憶體區一般分為5種 1 全域性 靜態資料區 儲存全域性變數及靜態變數 包括全域性靜態變數和區域性靜態變數 2 常量資料區 儲存程式中的常量字串等。3 區 儲存程式的 4...
C 物件模型
很久之前就想總結一下c 的記憶體使用機制。直到現在剛考完試之制,去實習之前,才有時間完成這事。1.程式使用記憶體區 乙個程式占用的記憶體區一般分為5種 1 全域性 靜態資料區 儲存全域性變數及靜態變數 包括全域性靜態變數和區域性靜態變數 2 常量資料區 儲存程式中的常量字串等。3 區 儲存程式的 4...