ビューを作成して、プログラムでリストに追加する必要があります。SPListメソッドには、SPViewCollectionタイプのViewsプロパティがあります。
これにはaddメソッドがあります。ただし、このメソッドは完全なXMLスキーマを受け入れません。これは、いくつかのパラメーター(クエリ、結合などを設定する場所)に分割されます。完全なXMLを渡すことができるメソッドが必要になります。
私は、最初にこのAddメソッドを使用して「ダミー」ビューを作成し、次にビューを読み返して、最後にSetViewXmlを使用することを考えていました。
しかし、それは少し汚いアプローチです-おそらく私が見逃しているより良い、より単純なものがあります。ありがとう!
質問する
920 次
1 に答える
0
これを試して。XMLが必要だとは思いません。文字列コレクションを使用して列を追加するだけで済みます。
using (SPWeb web = properties.Feature.Parent as SPWeb)
{
System.Diagnostics.Debug.WriteLine("Creating the list");
//web.AllowUnsafeUpdates = true; //use this in an application page no need in a dll
web.Lists.Add("Customers", "Store informations about my Company Customers", SPListTemplateType.GenericList);
web.Update();
System.Diagnostics.Debug.WriteLine("Creating the Fields");
SPList myNewList = web.Lists["Customers"];
myNewList.Fields.Add("First Name", SPFieldType.Text, false);
myNewList.Fields.Add("Last Name", SPFieldType.Text, false);
myNewList.Fields.Add("Adress", SPFieldType.Text, false);
myNewList.Fields.Add("City", SPFieldType.Text, false);
myNewList.Fields.Add("Latest Purchase Date", SPFieldType.DateTime, false);
myNewList.Fields.Add("Sales Comments", SPFieldType.Note, false);
myNewList.Update();
System.Diagnostics.Debug.WriteLine("Creating the view");
System.Collections.Specialized.StringCollection strColl = new System.Collections.Specialized.StringCollection();
strColl.Add("Title");
strColl.Add("First Name");
strColl.Add("Last Name");
strColl.Add("Adress");
strColl.Add("City");
strColl.Add("Latest Purchase Date");
strColl.Add("Sales Comments");
myNewList.Views.Add("Summary", strColl, @"", 100, true, true, Microsoft.SharePoint.SPViewCollection.SPViewType.Html, false);
myNewList.Update();
}
于 2012-05-22T07:12:47.023 に答える