0

CRUD の目的で SlickGrid/DataView を使用しています。正常に動作しています。ただし、主キーを持たないテーブルがいくつかあります。

Q1: このようなテーブルに対してデータビューを使用するにはどうすればよいですか? そうでない場合、データビューのみを使用せずに Slickgrid を使用することになりますか、それとも別の選択肢がありますか? 任意の例をいただければ幸いです。

Q2: Dataview は複合主キーをサポートしていますか? はいの場合、誰かがそれを使用する例を教えてもらえますか?

ありがとう

4

1 に答える 1

0

SlickGrid には少なくとも ID フィールドが必要です。テーブル内で別の名前を付けることができるものを使用して、それを「ID」にエイリアスすることができますが、SlickGrid が行の命名などに使用しているため、UNIQUE id フィールドである必要があります。

UNIQUE フィールドがなく、本当に複合主キーを使用したい場合は、ループごとに 1 ずつインクリメントする偽の ID フィールドを作成することをお勧めします。簡単な方法は、次のようなデータの取得中にこれを行うことです。

$sqlTable = "SELECT * FROM myTable";
$result = mysql_query($sqlTable,$connMySQL);

$i = 1;
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    $tabData[] = array( 
        "id" => $i++, 
        "column1" => $row['column1'],
        "column2" => $row['column2'] 
    );
}

先ほど言ったように偽の ID を使用すると、ID が本物ではなく、どこも指していないため、CRUD (更新、削除) を実行する際に問題が発生します... しかし、それを修正する方法もあります。

ちなみに、質問は主題が異なるため、2 つの別々の質問に分割する必要があります。別の質問で CRUD の件名を尋ね、そこから開発できるようにコードを提供することをお勧めします。

于 2013-10-23T14:58:42.337 に答える