jEasyUI は条件付きで行の背景色を設定します

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 の仮想スクロール機能を使用して、表示されている行のみにスタイルを適用できます。