jEasyUI 条件设置行背景颜色
この記事では、jEasyUI DataGrid コンポーネントを使用して、特定の条件に基づいてデータグリッドの行の背景色を設定する方法について説明します。これにより、データの視覚化とユーザーエクスペリエンスを向上させることができます。
副題
1. jEasyUI ライブラリの読み込み:
- jEasyUI の CSS と JavaScript ファイルをインクルードします。
- 公式サイトから直接ダウンロードするか、CDN を使用して高速にアクセスできます。
2. DataGrid コンポーネントの作成:
<table class="easyui-datagrid"></table>
を使用してテーブルコンテナを作成します。- JavaScript コードで
.datagrid()
メソッドを使用して DataGrid を初期化します。 url
プロパティを設定してデータソースを読み込みます。
3. 条件に基づいて背景色を設定する:
- DataGrid の
onLoadSuccess
イベントを使用します。 - イベントハンドラ関数で jQuery セレクタを使用して、すべてのデータ行
$('.datagrid-row')
を取得します。 - 各データ行を反復処理し、条件に基づいて背景色を設定するかどうかを判断します。
- jQuery の
.css()
メソッドを使用して、行の背景色を設定します。例:$(row).css('background-color', 'yellow')
。
4. サンプルコード:
"productid" フィールドの値に基づいて異なる背景色を設定する方法を示す完全な HTML、CSS、および JavaScript コードの例を以下に示します。
<!DOCTYPE html>
<html>
<head>
<title>jEasyUI 条件付き行の背景色</title>
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">
<script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.min.js"></script>
<script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
</head>
<body>
<table id="dg" class="easyui-datagrid" title="製品" style="width:700px;height:250px"
data-options="
url:'products.json',
method:'get',
singleSelect:true,
onLoadSuccess: function(data){
$('.datagrid-row').each(function(index, row){
var productid = $(row).find('td[field="productid"]').text();
if (productid == 'FI-SW-01') {
$(row).css('background-color', 'yellow');
} else if (productid == 'K9-DL-01') {
$(row).css('background-color', 'lightgreen');
}
});
}
">
<thead>
<tr>
<th data-options="field:'productid',width:80">製品ID</th>
<th data-options="field:'productname',width:100">製品名</th>
<th data-options="field:'unitprice',width:80,align:'right'">単価</th>
<th data-options="field:'status',width:60,align:'center'">ステータス</th>
</tr>
</thead>
</table>
</body>
</html>
5. 注意事項:
- DataGrid のデータの読み込みが完了してから、背景色の設定操作を実行してください。
- 実際のニーズに応じて、条件判断と色の設定を柔軟に変更できます。
参考文献
QA
Q1: DataGrid の行の背景色を設定するにはどうすればよいですか?
A1: DataGrid の onLoadSuccess
イベントを使用し、jQuery セレクタと .css()
メソッドを使用して、条件に基づいて行の背景色を設定できます。
Q2: 複数の条件に基づいて異なる背景色を設定できますか?
A2: はい、複数の if
または else if
ステートメントを使用して、異なる条件に基づいて異なる背景色を設定できます。
Q3: DataGrid のパフォーマンスに影響を与えずに、多数の行の背景色を設定するにはどうすればよいですか?
A3: 大量のデータの場合、パフォーマンスを向上させるために、クライアント側ではなくサーバー側で背景色を設定することを検討してください。または、jEasyUI DataGrid の仮想スクロール機能を使用して、表示されている行のみにスタイルを適用できます。