我正在使用动态行和列的以下tbody
:
<tbody data-bind="foreach: ClientListingData">
<tr>
<!-- ko foreach: $parent.OrderedColumns -->
<!-- if: $parent[OrderedColumns] == 'ClientID' -->
<td class="greenbg">
<span data-bind="text: $parent[$data]"></span>
</td>
<!-- /ko -->
<!-- if: $parent != 'ClientId' -->
<td>
<span data-bind="text: $parent[$data]"></span>
</td>
<!-- /ko -->
<!-- /ko -->
</tr>
</tbody>
ClientListingData
包含JSON格式的整个网格数据,OrderedColumns
是一个包含列名称的数组对象,如[ClientID,ClientName..etc]
我用来动态绑定我的网格。我的要求是当列名为ClientID
时,我希望td
有一个不同的css
类,我正在尝试上面这个。如何使用if
绑定读取列的名称并使用OrderedColumns
数组执行某些操作?也可以在我的示例中使用if
绑定嵌套条件?如果ClientID
大于10,我希望td具有橙色背景,如果它大于100,则td应该有红色背景。
答案 0 :(得分:1)
专门针对CSS的绑定
http://knockoutjs.com/documentation/css-binding.html
<div data-bind="css: { profitWarning: currentProfit() < 0 }">
Profit Information
</div>
<script type="text/javascript">
var viewModel = {
currentProfit: ko.observable(150000) // Positive value, so initially we don't apply the "profitWarning" class
};
viewModel.currentProfit(-50); // Causes the "profitWarning" class to be applied
</script>