このトピックでは、コード例を用いて、Responsive Web Design (RWD) モードで igGrid™ コントロール用に列を非表示にする方法について説明します。
以下の表は、このトピックを理解するための前提条件として必要な概念、トピック、および記事の一覧です。
igGrid コントロールの RWD モード機能およびこの機能が提供する機能性について概念的に説明します。igGrid コントロールでレスポンス Web デザイン (RWD) モードを有効にする方法について説明します。このトピックは、以下のセクションで構成されます。
モードには、RWD プロファイルに基づいて列を非表示/表示するための機能があります。以下のスクリーンショットは、同じグリッドの 携帯電話とタブレットの RWD モード プロファイルで列の非表示を比較します。
| 携帯電話 プロファイル (320 x 480 px) | タブレット プロファイル (768 x 1024 px) |
|---|---|
![]() |
![]() |
デスクトップ プロファイルでは、より多くの列が表示されます。以下の画像は、デスクトップ プロファイルで表示される同じグリッドを示します。
デスクトップ プロファイル (1280 x 1024 px)

列の非表示は、以下の2つの選択可能な方法で構成できます。
列単位の構成は、インライン カスタム RWD モード を定義した場合、または CSS メディア クエリーに依存しないカスタム RWD モード構成を実装した場合に列の非表示を構成するために唯一使用可能な方法です。
以下の表は、RWD モード列の非表示を構成するために使用可能なアプローチを簡単に説明します。このメソッドについては、表の下にある解説も参照してください。
| 構成タスク | 詳細 | プロパティ |
|---|---|---|
| CSS クラスを使用している列非表示の構成 | CSS クラスで定義された列の非表示は、CSS 3 メディア クエリーを使用します。 | |
| プロファイル オブジェクトを使用している列非表示の構成 |
個別の列構成で定義された列の非表示は、InfragisticsMode クラスを使用して行われます。
|
|
CSS クラスで定義された列の非表示は、CSS 3 メディア クエリーを使用します。CSS クラスは 列単位で columnSettings プロパティで構成されます。 columnSettings.classes プロパティは、 HTML 要素のクラス属性を設定するルールに従います。単一のクラスまたはドットなしで複数のクラスを設定できます。複数のクラスを設定する場合は スペースで区切ります。
以下の表では、目的の構成をプロパティ設定にマップしています。
| 目的: | 使用するプロパティ: | 設定の選択肢: |
|---|---|---|
| デスクトップ RWD モード プロファイルに対してCSS クラスを使用して列を非表示にします。 |
|
|
| デスクトップ RWD モード プロファイルに対してCSS クラスを使用して列を表示します。 |
|
|
| タブレット RWD モード プロファイルに対してCSS クラスを使用して列を非表示にします。 |
|
|
| タブレット RWD モード プロファイルに対してCSS クラスを使用して列を表示にします。 |
|
|
| 電話 RWD モード プロファイルに対してCSS クラスを使用して列を非表示にします。 |
|
|
| 電話 RWD モード プロファイルに対してCSS クラスを使用して列を表示にします。 |
|
この例は、CSS クラスに基づいて列の非表示を設定する方法をデモします。
ProductID 列は、同時に ui-hidden-tablet クラスと ui-hidden-phone クラスを使用するよう構成されます (スペースで区別して行います)。タブレットや携帯電話のプロファイルでは表示されない、など
ProductNumber 列は ui-hidden-phone クラスを使用するよう構成されます。携帯電話のプロファイルでは表示されない、など。
JavaScript の場合:
$("#grid1").igGrid({
height: "100%",
width: "100%",
columns: [
{ headerText: "Product ID", key: "ProductID", dataType: "number"},
{ headerText: "Product Name", key: "Name", dataType: "string" },
{ headerText: "Product Number", key: "ProductNumber", dataType: "string" }
],
autoGenerateColumns: false,
dataSource: adventureWorks,
responseDataKey: "Records",
features: [
{
name: "Responsive",
columnSettings: [
{
columnKey: "ProductID",
classes: "ui-hidden-tablet ui-hidden-phone"
},
{
columnKey: "ProductNumber",
classes: "ui-hidden-phone"
}
]
}
]
});
C# の場合:
@using Infragistics.Web.Mvc
@model IQueryable<GridDataBinding.Models.Product>
@(Html.Infragistics()
.Grid(Model)
.ID("grid1")
.AutoGenerateColumns(false)
.Columns(col =>
{
col.For(c => c.ProductID).HeaderText("Product ID");
col.For(c => c.Name).HeaderText("Product Name");
col.For(c => c.ProductNumber).HeaderText("Product Number");
})
.Features(feature =>
{
feature.Responsive().ColumnSettings(cs =>
{
cs.ColumnSetting().ColumnKey("ProductID").Classes("ui-hidden-tablet ui-hidden-phone");
cs.ColumnSetting().ColumnKey("ProductNumber").Classes("ui-hidden-phone");
});
})
.DataBind()
.Render())
各列の構成で定義される列の非表示は、columnSettings.configuration プロパティ内の InfragisticsMode クラスで行われます。これは、プロパティが RWD モードのプロファイル名であり、その値は列の可視性を構成するための hidden ブール値プロパティを持つオブジェクトです。
以下の表では、目的の構成をプロパティ設定にマップしています。
| 目的: | 使用するプロパティ: | 設定の選択肢: |
|---|---|---|
| デスクトップ RWD モード プロファイルに対して列構成を使用して列を非表示にします。 |
|
|
| デスクトップ RWD プロファイルに対して列構成を使用して列を表示します。 |
|
|
| タブレット RWD モード プロファイルに対して列構成を使用して列を非表示にします。 |
|
|
| タブレット RWD モード プロファイルに対して列構成を使用して列を表示にします。 |
|
|
| 携帯電話 RWD モード プロファイルに対して列構成を使用して列を非表示にします。 |
|
|
| 携帯電話 RWD モード プロファイルに対して列構成を使用して列を表示します。 |
|
この例は、列構成に基づいて列の非表示を設定する方法を示します。
ProductID 列は、デスクトップ プロファイル (デフォルト) で表示され、タブレットおよび携帯電話のプロファイルでは非表示になります。
JavaScript の場合:
$("#grid1").igGrid({
height: "100%",
width: "100%",
columns: [
{ headerText: "Product ID", key: "ProductID", dataType: "number"},
{ headerText: "Product Name", key: "Name", dataType: "string" },
{ headerText: "Product Number", key: "ProductNumber", dataType: "string" }
],
autoGenerateColumns: false,
dataSource: adventureWorks,
responseDataKey: "Records",
features: [
{
name: "Responsive",
columnSettings: [
{
columnKey: "ProductID",
configuration: {
desktop: {
hidden: false
},
tablet: {
hidden: true
},
phone: {
hidden: true
}
}
}
]
}
]
});
C# の場合:
@using Infragistics.Web.Mvc
@model IQueryable<GridDataBinding.Models.Product>
@(Html.Infragistics()
.Grid(Model)
.ID("grid1")
.AutoGenerateColumns(false)
.Columns(col =>
{
col.For(c => c.ProductID).HeaderText("Product ID");
col.For(c => c.Name).HeaderText("Product Name");
col.For(c => c.ProductNumber).HeaderText("Product Number");
})
.Features(feature =>
{
feature.Responsive().ColumnSettings(cs =>
{
cs.ColumnSetting().ColumnKey("ProductID").Configuration(conf => {
conf.AddColumnModeConfiguration("desktop", c => c.Hidden(false));
conf.AddColumnModeConfiguration("tablet", c => c.Hidden(true));
conf.AddColumnModeConfiguration("phone", c => c.Hidden(true));
});
});
})
.DataBind()
.Render())
このトピックの追加情報については、以下のトピックも合わせてご参照ください。
行および列テンプレートの構成 (igGrid、RWD モード): このトピックは、コード例を用いて igGrid コントロールの各 レスポンス Web デザイン (RWD) モード プロファイルに対して行と列を定義する方法、およびアクティブな RWD モードの切り替え時のテンプレートの自動変更を構成する方法について説明します。
カスタム レスポンス Web デザイン (RWD) プロファイルの作成 (igGrid): このトピックは、コード例を使用して、igGrid コントロールのカスタム レスポンシブ Web デザイン (RWD) モード プロファイルを作成する方法について説明します。
オンラインで表示: GitHub