分页查询+搜索结果为空

这里写自定义目录标题


在使用boorstrap做分页查询+ 搜索时遇到一个奇怪bug,具体表现如下:
第一页的可以搜索

在这里插入图片描述
但第二页的搜索不到
在这里插入图片描述
在这里插入图片描述
后来发现原因在于我分页查询时第二页的页码为1,然后在数据库中查询时把页码带进去了,

LIMITDATA: params.limit,   //序号上限
            OFFSETDATA: params.offset,  //序号下限
            value: $("#input_value").val(),
            key: $('#select_value option:checked').text()// $('#select_value').val(),

这个是刷新表格时传的参数
也就是说我的搜索结果需要在两页以上才能被搜索到.这明显是一个bug
快速思考后,打算把OFFSETDATA每次都改成0,这样的话每次搜索都可以搜索到值
但是这样做有新的问题出现,就是比如我搜索到了9条记录,每页5条,第二页依然是前面的5条

后来发现我在修改前第一次查询不到,但第二次点击查询就可以搜索到了,因为在搜索不到的情况下页面下限为0,上限为当页的记录数.
从这个思路出发,把每次查询的函数中的刷新改成两次刷新,即

$('#btn_query').click(function () {
    $('#tb_departments').bootstrapTable('refresh');
});

$('#btn_query').click(function () {
    $('#tb_departments').bootstrapTable('refresh');
    $('#tb_departments').bootstrapTable('refresh');
});

有时候问题的解决,仅仅是多刷新一次,谨以此博客,告诫自己,遇到困难,先试试多刷新一次.~~

2020.12.10日更新:
以上思路能成功是因为我当时处于调试状态,有暂停,实际测试的时候发现并不起到预期作用.

list = sqlcommand.GetTbBloodSample(LIMITDATA, OFFSETDATA, key, value);
//查询符合条件的数据
var total = sqlcommand.GetTbBloodSampleCount(key, value);
//查询这个条件下的总数
   if (list.Count == 0&&total!="0")//如果总数不为0,查询到的数据行数为0
      list = sqlcommand.GetTbBloodSample(LIMITDATA, 0, key, value);
      //那就重新查一次,起始为0

新的思路是这样,如果查询到的总数不为0,查询到的数据行数为0
那就重新查一次,这次起始为0

启示:一次不行,多来一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值