記事の監修
Y.Uchida
記事の監修
Y.Uchida
マネジメント&イノベーション事業部 開発部/1グループ グループマネージャー
資格:MCP認定資格(PL-600)など
2019年に入社。入社から2年ほどは、不動産システムのテスト案件や決済システムの運用案件などに携わる。
現在はPowerPlatformを用いたローコード開発など、Microsoft関連の案件に参画し、さまざま案件に従事している。
2024年7月よりマネージャーに昇格。自他共に認めるエースとして、絶賛大活躍中。
趣味は、ポケモンスリープで、色違いのデデンネとウッウとオコリザルを所持しており、同僚から羨望の眼差しを受けている。
Contents
目次
セルの内容に応じてアイコン、色、テキストのスタイルを変更でき、JSONの活用で標準機能では対応できない設定も行うことができるようになるため、デザイン性のあるリストやサイトを作成することが可能です。
では、どのように作成するのか、具体的にご紹介していきますね。
1. JSON適用前
2. JSON適用後
3. JSONでできること①:セルの背景色を変更、アイコンを表示
3-1. 適用したJSON
”$schema”: “https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json”,
”elmType”: “div”,
”attributes”: {
”class”: “=if(@currentField == ‘完了’, ‘sp-field-severity–good’, if(@currentField == ‘対応中’, ‘sp-field-severity–low’, if(@currentField == ‘確認中’, ‘sp-field-severity–warning’, if(@currentField == ‘保留’, ‘sp-field-severity–severeWarning’, ‘sp-field-severity–blocked’)))) + ‘ ms-fontColor-neutralSecondary'”
},
”children”: [
{
”elmType”: “span”,
”style”: {
”display”: “inline-block”,
”padding”: “0 4px”
},
”attributes”: {
”iconName”: “=if(@currentField == ‘完了’, ‘CheckMark’, if(@currentField == ‘対応中’, ‘Forward’, if(@currentField == ‘確認中’, ‘Error’, if(@currentField == ‘保留’, ‘Warning’, ‘ErrorBadge’))))”
}
},
{
”elmType”: “span”,
”txtContent”: “@currentField”
}
]
}
3-2. 解説
3-3. 全体の構成
1. $schema
この行は、このJSONがSharePointのカラムフォーマット用のものであることを示しています。ここでは、スキーマのURLを指定しています。
2. elmType
これは要素のタイプを指定します。この場合、div(HTMLの div タグ)です。
3. attributes
ここでは、div 要素の属性を指定します。この中には、クラス(class)があります。
4. children
この要素の子要素を定義します。ここでは、2つの span 要素が子要素として定義されています。
3-4. attributesセクション
”class”: “=if(@currentField == ‘完了’, ‘sp-field-severity–good’, if(@currentField == ‘対応中’, ‘sp-field-severity–low’, if(@currentField == ‘確認中’, ‘sp-field-severity–warning’, if(@currentField == ‘保留’, ‘sp-field-severity–severeWarning’, ‘sp-field-severity–blocked’)))) + ‘ ms-fontColor-neutralSecondary'”
}
@currentField: 現在のフィールドの値を指します。ここではステータス列のことです。
完了 なら sp-field-severity–good
対応中 なら sp-field-severity–low
確認中 なら sp-field-severity–warning
保留 なら sp-field-severity–severeWarning
その他なら sp-field-severity–blocked
さらに、ms-fontColor-neutralSecondaryクラスを追加して、フォント色を中立的な色に設定します。
3-5. children セクション
3-6. 最初のspan要素
”elmType”: “span”,
”style”: {
”display”: “inline-block”,
”padding”: “0 4px”
},
”attributes”: {
”iconName”: “=if(@currentField == ‘完了’, ‘CheckMark’, if(@currentField == ‘対応中’, ‘Forward’, if(@currentField == ‘確認中’, ‘Error’, if(@currentField == ‘保留’, ‘Warning’, ‘ErrorBadge’))))”
}
}
style: CSSスタイルをインラインで設定します。
attributes: iconName 属性を設定し、条件によって異なるアイコンを表示します。
対応中 なら Forward
確認中 なら Error
保留 なら Warning
その他なら ErrorBadge
3-7. 2番目のspan要素
”elmType”: “span”,
”txtContent”: “@currentField”
}
elmType: span タグを使います。
txtContent: 現在のフィールドの値をそのままテキストとして表示します。
4. JSONでできること②:ボタンの追加
4-1. 適用したJSON
{
”$schema”: “https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json”,
”elmType”: “div”,
”children”: [
{
”elmType”: “span”,
”style”: {
”padding-right”: “8px”
},
”txtContent”: “@currentField.title”
},
{
”elmType”: “a”,
”style”: {
”background-color”: “#0078d4”,
”color”: “white”,
”border”: “none”,
”padding”: “6px 12px”,
”text-align”: “center”,
”text-decoration”: “none”,
”display”: “inline-block”,
”font-size”: “14px”,
”margin”: “4px 2px”,
”cursor”: “pointer”
},
”attributes”: {
”class”: “sp-field-button”,
”href”: {
”operator”: “+”,
”operands”: [
”http://contoso.sharepoint.com/sites/ConferencePrep/Tasks/Prep/DispForm.aspx?ID=”,
”[$ID]”
]
}
},
”txtContent”: “詳細を見る”
}
]
}
4-2. 解説
4-3. 全体の構成
1. $schema
2. elmType
3. children
4-4. childrenセクション
4-5. 最初のspan要素
”elmType”: “span”,
”style”: {
”padding-right”: “8px”
},
”txtContent”: “@currentField.title”
}
elmType: span タグを使用します。
style: CSSスタイルをインラインで設定します。 padding-right は 要素の右側に8ピクセルの余白を追加します。
txtContent: 現在のフィールドの title プロパティを表示します。
4-6. 2番目のspan要素
”elmType”: “a”,
”style”: {
”background-color”: “#0078d4”,
”color”: “white”,
”border”: “none”,
”padding”: “6px 12px”,
”text-align”: “center”,
”text-decoration”: “none”,
”display”: “inline-block”,
”font-size”: “14px”,
”margin”: “4px 2px”,
”cursor”: “pointer”
},
”attributes”: {
”class”: “sp-field-button”,
”href”: {
”operator”: “+”,
”operands”: [
”http://contoso.sharepoint.com/sites/ConferencePrep/Tasks/Prep/DispForm.aspx?ID=”,
”[$ID]”
]
}
},
”txtContent”: “詳細を見る”
}
]
}
elmType: button タグを使用します。
style: ボタンの見た目をCSSスタイルで指定します。
background-color: ボタンの背景色を青に設定します。
color: テキスト色を白に設定します。
border: ボーダーを無しに設定します。
padding: ボタン内の余白を指定します。
text-align: テキストを中央に揃えます。
text-decoration: テキストの装飾を無しに設定します。
display: インラインブロック要素として表示します。
font-size: フォントサイズを指定します。
margin: ボタンの周囲に余白を指定します。
cursor: マウスカーソルをポインタに設定します(クリック可能であることを示します)。
attributes: ボタンの属性を指定します。
class: クラス名を sp-field-button に設定します。
onclick: ボタンがクリックされたときのアクションを指定します。
operator: + で文字列を連結します。
operands: 連結する文字列やフィールド値を配列で指定します。
“http://contoso.sharepoint.com/sites/ConferencePrep/Tasks/Prep/DispForm.aspx?ID=”: リンクの開始部分を指定します。お使いの環境のURLをする必要があります。
“[$ID]”: アイテムのIDを挿入します。
“‘”: リンクの終了部分を指定します。
txtContent: ボタンのラベルとして “詳細を見る” を表示します。
この設定により、SharePointリストの各アイテムのタイトルが表示され、その横に「詳細を見る」ボタンが配置されます。ボタンをクリックすると、アイテムの詳細ページにリダイレクトされます。
Microsoftを導入して
コスト効率をよくしたい
Microsoftに関して
気軽に聞ける相談相手が欲しい
Microsoftを導入したが、うまく活用できていない・浸透していない
社内研修を行いたいが
社内に適任者がいない
Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。
ランキング
6月 10, 2024
SharePointとは?SharePointの機能や使い方を徹底解説!
SharePointとは? SharePointとは、マイクロソフト社が提供する企業向けのファイル共有・コラボレーションを行うためのサービスです。 SharePointと比較されるサービスとして、 […]
1月 12, 2024
Microsoft Dynamics 365とは?その概要を分かりやすく徹底解説!
Dynamics 365とは? Dynamics 365とは、Microsoft が提供するビジネスアプリケーションです。 Dynamics 365は、企業活動を効率的に進めるために必要な業務システ […]
6月 11, 2024
仕事の時短を実現する!エンジニアが教える圧倒的な仕事時短術!
業務効率化とは 業務効率化とは、少ない労力で仕事の生産性をあげることです。 要は、今まで1時間かかっていた仕事を30分で終われるようにすることです。 そうは言っても、そんな簡単なことではありません。 「日々の業務に一生懸 […]
ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。
無料相談に申し込む