如何避免数据表中行回调和排序之间的混淆

时间:2019-05-12 13:32:59

标签: r datatable shiny dt

借助上一个question,我现在可以设置选定行的样式(供用户选择要从进一步分析中排除的行),但是我发现执行该功能后对数据表进行排序排除行(将它们显示为灰色并添加其他图标,将图标保留在正确的行中,但将错误的行显示为灰色。

以下是在排序之前取消选择第2、3和4行之后的表格: enter image description here

,然后排序:(十字在右行,但变灰不行。

enter image description here

class ArticleResurrectionView(MessageLoginRequiredMixin, FormView):

    # ...

    def get_form_kwargs(self):
        kwargs = super().get_form_kwargs()
        kwargs['author_id'] = self.request.user.pk
        return kwargs

1 个答案:

答案 0 :(得分:1)

您在JavaScript中用于选择要变灰的行的num基于当前显示的行号,因此不受排序的影响。

您可以尝试通过以下方式替换if函数中的rowCallbackMeta语句:

if(data[0].search('remove') > -1)

这会在数据的第一列中查找“删除”以排除行,并且由于排除行时第一列中的glyphicon已更新为<i class="glyphicon glyphicon-remove"></i>,因此可以正常工作。