jquery - 隐藏空数据库表列

标签 jquery mysql codecharge

当我的数据库没有返回任何内容时,我试图隐藏整个列,但它仍然将数据库字段(例如 {something})视为有效输入。

$('#mytable th').each(function(i) {
  var remove = 0;

var tds = $(this).parents('table').find('tr td:nth-child(' + (i + 1) + ')')
tds.each(function(j) {
  if (this.innerHTML == '') remove++;
});
if (remove == ($('#mytable tr').length - 1)) {
  $(this).hide();
  tds.hide();
 }
});

https://jsfiddle.net/wwmyxp9o/9/

这就是它的正面现在的样子:

enter image description here

我已经尝试过基于 Stephen Walcher 的代码的代码 remove/hide table's empty column(s), including <th> ,但仍然没有运气。

我刚刚开始做这种规模的事情,我感谢对这个问题的任何帮助。

谢谢

Z

最佳答案

Z - {fields} 在 Codecharge 模板的 HTML 中,因此 jsfiddle 中的 Jquery 将无法工作(因为那里有东西) - 而且看起来每个模板字段后面都有一个空格,也不是 Nothing(因此 this.InnerHTML == '' 不会为 true)

我玩了 jsfiddle 并提出了一些可能有帮助的更改:

  1. Codecharge 在发布之前不会正确布局 HTML - 因此结束 </table>标签实际上是中间表,会混淆jquery
  2. 分隔符和页脚行都使用“colspan=55”,当我删除它们(并将结束 </table> 标记移至末尾)时,它适用于测试列。

或者,在服务器端,您可以在每列周围添加 Codecharge 面板(这是网格生成器向导中的一个选项,这将为您节省大量时间),并且您可以根据值(value)观。

使用 BeforeShowRow 标记每个列号,然后在 Grid BeforeShow 事件中使用自定义代码循环并隐藏面板。您还可以将要隐藏的列存储在隐藏字段中,并使用 jquery 来隐藏它们,使用与您正在使用的代码类似的代码。

编辑网格选项 - 面板

网格生成器在此过程后期有一些选项(我认为是第 7 步),允许您勾选“向每列添加面板(用于隐藏/显示功能)”,这将在每列(和列标题)周围添加面板所以你可以在后面的代码中打开和关闭它们。但是,由于它们应该具有唯一的名称,因此您也可以使用 jQuery 来关闭整列。

Specify if all controls are taken into the blocks of the following type: <!-- BEGIN ControlType ControlName --><!-- END ControlType ControlName --> It will be used to dynamically hide/show controls on the page.

来自“Grid Builder”的 Codecharge 手册。

在后面的代码中设置列标记来关闭面板需要更多工作,但是一些类似于(伪代码):

BeforeShowRow
  $flagCol1Hide = ($flagCol1Hide OR $Container->col1Value->GetValue() > 0);
  $flagCol2Hide = ($flagCol2Hide OR $Container->col2Value->GetValue() > 0);
  //etc
end

BeforeShow
  // For the Grid (aka $Component in this case), with Panels as children
  $Component->PanelCol1->Visible = !$flagCol1Hide;
  $Container->PanelCol2->Visible = !$flagCol2Hide;
end

对于Totals,如果您无法获取,也可以在BeforeShowRow中包含您自己的总计,并将其添加到BeforeShow中的显示总计中。 (请参阅 Codecharge 帮助中的“包含总计的简单报告”)。

关于jquery - 隐藏空数据库表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37431602/

相关文章:

jquery - 轻量级函数使图像数组随机循环?

javascript - 为什么使用窗口变量查找索引时出现错误?

Javascript 点击特定于 ID

mysql - 合并两个大数据表

javascript - ER_ACCESS_DENIED_ERROR CloudSQL

php - 如何确定商店是开门还是关门 - 处理时间?

php - 需要向 Codecharge 生成的 PHP/SQL 添加 Group By 语句

jQuery 移动列表功能不起作用