2018年7月25日水曜日

【LINQ】 VB.NET で GroupBy する。

VB.NET ソースの改修で、どはまりしたのでメモ。
複数項目でグループ化する際に匿名型を使うときは「Key」と記述しないとグループ化されない。


参考サイト:

2017年8月23日水曜日

【SharePoint】「承認/却下」の既存バグ

リストの設定のバージョン設定でコンテンツの承認を有効にしている場合、リストのアイテムに対して「承認/却下」を設定することになる。 ダイアログで設定する際は[キャンセル]ボタンが動作するが、ページで設定を表示した際に[キャンセル]ボタンが動作しない。

[キャンセル]ボタンをクリックした際に、_cancelButtonOnClick が呼ばれ、 ダイアログ表示の場合は、cancelPopUp メソッドが実行されるので問題ない。

ページとして表示した場合、source 変数に遷移先のURLが設定されていない為に動作しない。



URLパラメータの遷移先を取得するコード1行を追加すると正常に動くようになる。 マスターページにコードを記述したスクリプトファイル(common.js)を埋め込む。
※_script フォルダを作成して common.js を配置した際のパスです。

【SharePoint】カスタムフォームで文字列の状態で項目の表示・非表示を切り替える

 SharePoint Designer 2013 でリストのカスタムフォームを作成した際に、
ある列の状態によって項目の表示/非表示を制御したいという要望は多いと思います。
 文字列を XPath で比較する際のサンプルです。[承認状況(ApprovalStatus)]列の文字列を比較し、それぞれ [一次承認]、[二次承認]、[承認済] の時に表示する項目を切り替えます。
 前方一致、部分一致、完全一致のサンプルを書きました。

サンプルソース


参考サイト

2017年8月18日金曜日

【SharePoint】JSリンクで編集フォームの項目を条件によって読み取り専用にする

 既定の編集フォームを JSリンクで表示を切り替えるサンプルソースです。
サンプルではフィールドの種類を設定していますが、固有の列名を指定してもOKです。



参考サイト

2017年7月25日火曜日

【SharePoint】リボン、アイテムメニューへのユーザー設定のアクション追加

SharePoint Designer 2013 使用してリボンにボタンを作成したり、アイテムメニュー[…]に項目を追加できます。

追加できる場所


  • リスト アイテム メニュー
    アイテムの編集メニュー[…]の項目にアクションを追加できます。
  • フォーム リボンの表示
    表示フォーム (DispForm) のリボンにボタンを追加できます。
  • フォーム リボンの編集
    編集フォーム (EditForm) のリボンにボタンを追加できます。
  • フォーム リボンの新規作成
    新規作成フォーム (NewForm) のリボンにボタンを追加できます。
  • リボンの表示
    リストビューのリボンにボタンを追加できます。

<準備>

  • 16px、32px のアイコン画像をサイト内にアップロードしておく。
  • ワークフローの起動を設定する際は、対象のワークフローを手動起動できるようにしておく。

<設定方法>

  1. SharePoint Designer 2013 で対象のサイトを開き、[サイト オブジェクト] > [リストとライブラリ] から、対象のリストまたはライブラリを選択します。
  2. リボンメニューの、[ユーザー設定のアクション] の中から追加したい場所を選びます。
  3. [ユーザー設定のアクションの作成] ダイアログで、設定を行い [OK] ボタンをクリックします。
  • 名前:
    任意のメニュー名を指定する。
  • 説明:
    メニューの説明を入力する。(任意)
  • アクションの種類:
    [フォームへの移動] 移動したいフォームを選択する。
    [ワークフローの開始] 関連付けられている手動開始のワークフローを選択する。
    [URLへの移動] 移動したいURLを入力する (javaScript 可能)。
  • ボタンイメージのURL:
    アップロードしておいたアイコン画像を指定する。
  • リボンの場所:
    Ribbon.<表示したい場所のグループ名>.Controls._children
    ※グループの場所は 既定のサーバー リボンのカスタマイズの場所 を参照
  • 権限マスク:
    表示の権限を設定します。
  • シーケンス番号:
    表示位置を指定します。※規定は "0"

<注意点>

  • リボンメニューを表示したいビューの[Web パーツの編集]で[ツール バーの種類]を[ツールバーなし]にしているとアイコンが表示されないようです。
  • リストの列設定やコンテンツタイプを変更した際など、ワークフローが正常に呼び出せない状態になると[リスト アイテム メニュー]に追加したリンクが正常に動作しなくなります。現象としては "/" だけのページに遷移するようになります。Designer で再度設定しなおすと正常に動作するようになります。
  • [リスト アイテム メニュー]に追加した場合、新しい表示のモダンUIでも表示されますが、アイコンの表示サイズがおかしいので、アイコン画像は設定しないほうがいいです。

参考サイト

【LINQ】 VB.NET で GroupBy する。

VB.NET ソースの改修で、どはまりしたのでメモ。 複数項目でグループ化する際に匿名型を使うときは「Key」と記述しないとグループ化されない。 参考サイト: .NET(VB)LINQをVBで使用する際に注意すること VB.NETでもLINQでGroupByしたい...