1、今天开发的时候碰到一个问题,使用var rows = $("#a").datagrid("getSelections");获取选中的datagrid数据行时,无论选取了多少行,返回结果都是只有一行。
而且如果选取了多行,然后取消其中一行,返回结果将为0.
查询了相关资料,了解到以下结果:
datagrid("getSelections")获取选中行是根据所选行的idField进行区分的,即如果idField是不变的话,无论选取多少行,返回的结果都只有一行。
查询了项目代码之后,发现果然是idField出了问题,原本的groupId变成了groupid,所以idField不再是从数据库中获取的唯一标识符groupId而是一个垃圾值groupid。
将其改过来之后即可。
另外需要注意,如果需要判断选取结果是0的情况,即if(rows.length == 0 || rows == null),那么在这之前不能使用类似name = rows[0].name之类的语句进行取值。否则当没有选取rows时,无法执行该if语句中的代码。在使用中,需要在该if语句中加上一句return false; 然后将name = rows[0].name之类的语句放在该if代码块之后执行。
2、后台SQL查询问题
说来也很惭愧,犯了一个很基础的问题。
因为需要使用的SQL语句比较长,所以在代码中对其进行了换行,即:
</pre><pre name="code" clas