Knockout.js KendoListView:显示来自动态数据源的数据
我想在列表视图中显示来自动态数据源的数据,这意味着列不是固定的,在请求之前无法确定 例如:Knockout.js KendoListView:显示来自动态数据源的数据,knockout.js,kendo-ui,kendo-listview,Knockout.js,Kendo Ui,Kendo Listview,我想在列表视图中显示来自动态数据源的数据,这意味着列不是固定的,在请求之前无法确定 例如: 它可以返回一个包含列{Id,FirstName,MiddleName,LastName}或 它可以返回一个只包含列{Id,LastName}的对象列表 这可能会发生,具体取决于所做的设置 我有一个设置来确定查询时应该返回哪些列。 我的设置是一个数组,它将列出所有包含的列 this.includeColumns=ko.observeArray([“Id”,“LastName]”) 现在在我的html
- 它可以返回一个包含列
或{Id,FirstName,MiddleName,LastName}
- 它可以返回一个只包含列
的对象列表{Id,LastName}
this.includeColumns=ko.observeArray([“Id”,“LastName]”)代码>
<div class="col-sm-3">
<div id="items"></div>
<div id="pager" class="k-pager-wrap"></div>
</div>
<script type="text/x-kendo-tmpl" id="itemTemplate">
<div class="item" data-bind="drag: { value: $data }">
// Here I want to display what should be displayed depending on the setup
// If the return objects has columns { Id, FirstName, LastName }
// and in my setup I have only { Id, LastName }
// here I need to loop through the includedColumns list and display the columns here
Example:
<div data-bind="foreach: includedColumns">
<span>#: {{theIncludedColumnHere}} #</span>
</div>
</div>
</script>
希望有一个可能的解决办法。谢谢。我曾经有过类似的网格任务。也许这有助于找到listview的解决方案。 网格包含所有可能的列。根据实际数据(一旦用户按下按钮,网格就知道需要什么数据),某些列被隐藏或显示 对于网格,可以执行以下操作:
grid.hideColumn("ColumnNameOrIndex");
grid.showColumn("ColumnNameOrIndex");
对于listviews,这个get有点复杂,但是如果您可以在绑定时向列添加id/类(例如列名)。你应该能够使用这样的东西
$(".myColumnType").hide();
希望这有助于找到解决方案 任何可能的情况下,你都可以在你的文章中加入一个带有代码的提琴。
$(".myColumnType").hide();