1

我正在使用主干和背景网格。

我想让一些背景网格单元格不可编辑并突出显示它们。

我正在这些单元格上寻找一个简单的 css 属性。

但不幸的是,backgrid 不会对不可编辑的单元格施加任何特定的类。

这是从 backgrid 网站渲染的一个 backgrid 行本身:http://backgridjs.com/我们知道 id 字段在这里不可编辑:

    <tr>
<td class="integer-cell">1</td>
<td class="string-cell">Afghanistan</td>
<td class="integer-cell">25,500,100</td>
<td class="number-cell">0.36</td>
<td class="date-cell">2013-01-01</td>
<td class="uri-cell"><a tabindex="-1" href="http://en.wikipedia.org/wiki/Afghanistan" title="http://en.wikipedia.org/wiki/Afghanistan" target="_blank">http://en.wikipedia.org/wiki/Afghanistan</a></td>
</tr>

现在我如何达到同样的效果?

4

2 回答 2

0

那些您不想使其可编辑的单元格,向它们添加一些类,然后转到 backgrid.js 的源代码并找到启用编辑模式的函数,我不知道究竟是哪个函数处理它,可能是

render: function () {
enterEditMode: function () {

然后检查该单元格的类名,例如

$("#mydiv").hasClass("dont_edit"); OR this.hasClass("dont_edit");

如果是这样,那么只需“返回”,否则允许编辑。您必须通过反复试验来解决它,直到有人帮助您提供准确的代码。到那时最好开始帮助自己。

于 2013-12-25T11:15:48.653 回答
0

Backgrid.Cell#initialize 有以下代码

if (Backgrid.callByNeed(column.editable(), column, model)) $el.addClass("editable");

这意味着所有可编辑的单元格都有“可编辑”的 css 类。而所有不可编辑的单元格都没有这个类。

因此,通过应用下面的 CSS 选择器,我可以根据需要设置不可编辑单元格的样式:

backgrid td.renderable:not(.editable) {
   background-color: gray
}
于 2014-03-11T18:43:23.343 回答