0

我将 SlickGrid/DataView 用于 CRUD 目的。它工作正常。但是,我们有一些没有主键的表。

Q1:我怎样才能对这样的表使用数据视图?如果不是,那么我是否只使用没有数据视图的 Slickgrid 或者我有其他选择?任何示例将不胜感激。

Q2:Dataview 是否支持复合主键?如果是的话,有人可以给我一个使用它的例子吗?

谢谢

4

1 回答 1

0

SlickGrid 至少需要 ID 字段,您可以在表中取任何可能以不同方式命名的字段,然后将其别名为“ID”,但它必须是唯一的 id 字段,因为 SlickGrid 将其用于行命名等。

如果您没有 UNIQUE 字段并且您确实想使用复合主键,那么我建议您创建一个假 ID 字段,您只需在每个循环中增加 1。一种简单的方法是在获取数据时执行此操作,类似于以下内容:

$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,这会给您在执行 CRUD(更新、删除)时带来一些问题,因为您的 ID 不是真实的并且指向任何地方……但也有一种方法可以解决这个问题。

顺便说一句,您应该将您的问题分成 2 个单独的问题,因为它们是不同的主题。我建议您在另一个问题中询问您的 CRUD 主题,并提供一些代码,以便我们可以从那里进行开发。

于 2013-10-23T14:58:42.337 回答