# テーブル内の添付ファイルとルックアップも一緒にソートしたい

**URL:** <https://community.cybozu.dev/t/topic/9270>\
**Category:** kintone 開発相談\
**Created:** [2024 年 7 月 11 日午前 4:36 UTC](https://community.cybozu.dev/t/topic/9270 "2024-07-11T04:36:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![shuu](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@shuu](https://community.cybozu.dev/u/shuu)\
**Post date:** [2024 年 7 月 11 日午前 4:36 UTC](https://community.cybozu.dev/t/topic/9270/1 "2024-07-11T04:36:46Z")

</div>

### 何を実現したいのかを書きましょう

サブテーブルには添付ファイルとルックアップの2つの列を設定しており、その他の列はテキスト入力欄となっております。サブテーブルに設定された日付項目を使用して、サブテーブル内のデータを並べ替えたいです。

### 発生した問題やエラーメッセージを具体的に書きましょう

ソート自体はうまくいっているのですが、添付ファイルとルックアップはソートかからない状態になってるみたいです💦

開発者画面では、データのIDとvalueがソートをかけられているように見えますが、画面上に表示される内容では、人の名前（ルックアップ）の部分と添付ファイルが並び替えられていませんでした。

おわかりになる方いらっしゃいましたら、 ご教示のほど、よろしくお願いいたします

### 実行したコードをコピー＆ペーストしましょう

```javascript

```

```javascript
jQuery.noConflict();
(function sortData() {
  "use strict";
  // 登録、編集時の処理

  //古物許可番号
  kintone.events.on(
    ["app.record.edit.submit", "app.record.create.submit"],
    function (event) {
      var table = event.record.古物許可番号.value;
      //console.log(table);
      sortTable(table, "古物許可番号_選任日", true); //降順

      return event;
    }
  );

  var sortTable = function (table, orderBy, isDesc) {
    table.sort(function (a, b) {
      var fieldType = a.value[orderBy].type;
      var v1 = a.value[orderBy].value;
      var v2 = b.value[orderBy].value;

      // 数値と日時は変換してから比較
      switch (fieldType) {
        case "DATE":
          var a1 = new Date(v1).getTime();
          var a2 = new Date(v2).getTime();
          break;
      }
      //condition ? exprIfTrue : exprIfFalse
      //var pos = isDesc ? -1 : 1;  
      var pos = isDesc ? -1 : 1;
      if (v1 > v2) {
        return pos;
      }
      if (v1 < v2) {
        return pos * -1;
      }
    });
  };
})(jQuery);

```

 ![スクリーンショット 2024-07-09 10.39.37](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/2X/f/fd1298f84d2456a9012b125e35090fba4b14b711.png)

```javascript

```

---

<div class="post-metadata">

**Author:** ![pomo](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/pomo/32/465_2.png) [@pomo](https://community.cybozu.dev/u/pomo)\
**Post date:** [2024 年 7 月 12 日午前 9:23 UTC](https://community.cybozu.dev/t/topic/9270/2 "2024-07-12T09:23:18Z")

</div>

うろ覚えですみませんが、  
保存前のタイミング(submit)の時点では添付ファイルのファイルキー持っていなかったはずなので出来てないのかなと思います。

なので[保存後のタイミング(submit.success)](https://cybozu.dev/ja/kintone/docs/js-api/events/create/create-submit-success-event/)でeventのレコードを取得し並び替える。  
その際、return eventでは更新はできないので（保存後なので）別途同一のレコードに対してrest api介して更新してあげるのが良かった記憶です。

※違うような気がしてきたのですが、[以前やったのはこのような形でした](https://community.cybozu.dev/t/topic/8205)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2024 年 7 月 17 日午前 8:55 UTC](https://community.cybozu.dev/t/topic/9270/3 "2024-07-17T08:55:57Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
