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]”)
现在在我的html中

<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();