私は素晴らしい JavaScript UI ライブラリw2uiを使用しています。ウィジェット Gridの仕組みを学んでいます。
グリッドの各行は、一意の整数 ID ( recid ) を使用して識別されます。データベースに主キーとして整数がある場合、これは完璧です。このキーをrecidのように使用できます。しかし、私のデータベース テーブルには、 4 つの列の組み合わせである複合主キーがあります。
最初に解決策を考えました: ハッシュ関数を使用して、4 つの列の値を使用して整数値を生成します。
hash(idA, idB, idC, idD) = recid
サーバーから返される JSON の例:
records: [
{
"recid": 565587,
"key": {
"idA": "01",
"idB": "01",
"idC": "1981",
"idD": "111"
},
"value": 1000
}
]
recidはサーバー側で計算され、クライアント側でグリッド レコードを識別するために使用されます。
グリッドのセル値を変更すると (インライン編集を使用しています)、ウィジェットは変更された値とrecidのみをサーバーに送信し、複合キーは送信しないためです。そのため、更新を行うためのデータベース テーブルの行を特定できません。
誰かが解決策を持っていますか?
おそらく、キーオブジェクトをサーバーに強制的に送信するための構成でしょうか?