2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

リスト

本気のタイトル一覧


« 【雑感】子供と接するとき、どのように子供を見ているか。 | トップページ | 【スローライフ】いつでもそこにあるという幻想(1) »

2013年8月26日 (月)

【SharePoint】SharePoint2010 今更だけど・・・2

■あいかわらずローカライズ後のテストをしないMSDN。

   

 

SharePoint 2010 コントロールを使用して視覚的 Web パーツを作成する

   

http://msdn.microsoft.com/ja-jp/library/ff728094(v=office.14).aspx

   

前回に引き続き、MSDNの困りネタ。今更のShaPoint2010だけど、同様のケースは新バージョンのSharePoint2013でも発生し得るので。   
しかし前回よりひどい・・・。

 

「リスト’Projects’ はURL ‘http://win2008R2-sa’ のサイトには存在しません。」

 

20130820233616 

 

元に戻せなくなっちゃいますよ~。

 

原因はまたしてもローカライズが原因。   
ちゃんと手順は日本語環境に則ってローカライズされているから、   
単純にソースコードを手順に沿ってテストしていないんだと思われる。

 

該当コードはこれ

 
   
DateTime dueDate = DateTime.Now;

if (!string.IsNullOrEmpty(Request.QueryString["date"]))
{
    dueDate = DateTime.Parse(Request.QueryString["date"]);
}
DueDate.SelectedDate = dueDate;

SPWeb home = SPContext.Current.Web;
ProjectsListView.List = home.Lists["Projects"];


いけないのは赤字の部分で、そもそも”Projects"というプロジェクトタスクリストを前の手順として作らせていない。
ので、まずはテストサイトに該当するプロジェクトタスクリストを作成する。
20130820233859
すると、まずは大げさなエラーも発生せずWebパーツが正しく配置される。

  20130820234017

ページの編集でWebパーツをページに配置できたかと思いきや・・・    
と、今度は

20130820234050

「1つ以上のフィールドの種類が正しくインストールされていません。云々・・・」

と怒られる。

これは同じコード内の

 
SPQuery query = new SPQuery(ProjectsListView.List.DefaultView);
query.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"Due_x0020_Date\" />";
query.Query = string.Format(
    "<Where><Leq><FieldRef Name=\"Due_x0020_Date\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>"
    , dueDate.ToString("s"));

例によって赤字部分が、海外の製品と日本の製品ではフィールド名が異なることによって発生する。タイトルは「Title」で一致しているからOK。問題は"Due_x0020_Date"。 

日本語環境では、プロジェクトタスクリストの該当する”期限”は内部名が「DueDate」となっている。

201308210010522

ので、該当する箇所を直す。

 
SPQuery query = new SPQuery(ProjectsListView.List.DefaultView);
query.ViewFields = "<FieldRef Name=\"Title\" /><FieldRef Name=\"DueDate\" />";
query.Query = string.Format(
    "<Where><Leq><FieldRef Name=\"DueDate\" /><Value Type=\"DateTime\">{0}</Value></Leq></Where>"
    , dueDate.ToString("s"));

 

20130820235235 

ただしく表示できましたとさ。

内部名の調べ方はまた今度。

   ちなみに、TitleとDueDateさえあればプロジェクトタスクリストではなくお知らせとかでも動きます。

東海地方のSharePointに関するお仕事情報、お問い合わせは、こちらまでどうぞ。

                                                                
                
【送料無料】ひと目でわかるSharePoint Server 2010基本機能でここまで使え [ 村田聡一郎 ]                   

【送料無料】ひと目でわかるSharePoint Server 2010基本機能でここまで使え [ 村田聡一郎 ]                     
価格:2,940円(税込、送料込)                     

                  
               
       
   

~失敗しない家作りブログのAuthorの本職はSE。家作りとITがどうかかわるかわかりませんが、SEならではの視点でPC,ITに物申してみたいと思います。~

   

                                          
Share 
                                                               
                                                                
ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ                  
にほんブログ村
       
                                                                  
                  
人気ブログランキングへ
       
ランキング参加始めました。駄文ですが、ほんのチョビっとでも役に立ったと思われたらクリックお願いいたします:-)

« 【雑感】子供と接するとき、どのように子供を見ているか。 | トップページ | 【スローライフ】いつでもそこにあるという幻想(1) »

06.■PC&Gadget」カテゴリの記事

★移行用★」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/53520/52959086

この記事へのトラックバック一覧です: 【SharePoint】SharePoint2010 今更だけど・・・2:

« 【雑感】子供と接するとき、どのように子供を見ているか。 | トップページ | 【スローライフ】いつでもそこにあるという幻想(1) »

Adsense

  • Adsense

RECOMEND

失敗しない家づくり