【问题标题】:Using HTML table datasource to be the same for kendo grid使用 HTML 表格数据源与剑道网格相同
【发布时间】:2016-03-02 12:28:05
【问题描述】:

我有一个填充动态数据的 html 表,我希望将其转换为 Kendo Grid。

HTML 表格:

<table>
   <thead>
   <tr>
     <th>Dynamic Column1 </th>
     <th>Dynamic Column2 </th>
     <th>Dynamic Column3 </th>
   </tr>
   </thead>
   <tbody>
   <tr>
     <td>Row 1 Cell 1</td>     
     <td>Row 1 Cell 2</td>     
     <td>Row 1 Cell 3</td>     
   </tr>
   <tr>
     <td>Row 2 Cell 1</td>     
     <td>Row 2 Cell 2</td>     
     <td>Row 2 Cell 3</td>     
   </tr>
   </tbody>
</table>

当我使用以下代码将此表转换为 Kendo Grid 时:

$("table").kendoGrid({resizable: true});

数据在第 1 行的所有列中重复,其他行类似:

我的应用程序中的所有其他网格都是 KendoGrids。我将 2 到 3 个网格实现为 HTML 表格,因为每个单元格都是不同的局部视图。 (我对布尔值、下拉菜单、文本、日期选择器有不同的部分视图,因此我将根据输入重定向到相应的部分视图)。我没有得到将这些部分视图放在里面的解决方案。

有人可以指导如何将这个动态 html 表转换为具有相同数据源的 KendoGrid 吗?或者如果您能告诉我如何在剑道网格 MVC 中绑定局部视图(使用 clientTemplate)会有所帮助?

【问题讨论】:

  • 你想做什么?剑道网格在很大程度上取决于表格的数据源,您可以更改哪些内容,哪些不可以更改?我可能会看到的唯一另一种方法是包装器,它获取您的表格和数据,并从实时数据构建数据源,然后将您的表格转换为 kendogrid(尽管我可能会考虑很久)。那么你的最终目标是什么? :)
  • 另外,您所指的数据源可能在哪里?
  • 嗨@Icepickle,我有两个挑战:(1)。我的应用程序中的所有其他网格都是 KendoGrids。我将 2 到 3 个网格实现为 HTML 表格,因为每个单元格都是不同的局部视图。 (对于布尔值、Drodown、文本、日期选择器,我有不同的部分视图,因此我将根据输入重定向到相应的部分视图) 早些时候我无法获得将这些部分视图包含在 (2) 中的解决方案。我无法将此 HTML 表格设置为可调整大小的网格,并且 的省略号变得非常忙碌,所以我想搬到 Kendo Grid
  • 您是否有任何理由不能为此表使用数据源?因为您可以为 kendogrid 的 Columns 属性内的每一列设置一个模板函数(确实,所有这些列都必须在创建表之前定义,但作为一种解决方法,我曾经将所有潜在列添加到网格和然后选择隐藏不在网格活动视图内的列)。这样你就可以将模板与任何潜在的动态输入结合起来(我想你有一些限制......)
  • 正如 Fruitbat 所说,它应该确实可以工作,我只是在这里的道场上测试过,无法重现您的错误:dojo.telerik.com/EYiGU

标签: html kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

发布的 javascript

$("table").kendoGrid({resizable: true});

应该可以。

也许这是一个时间问题?你有没有尝试过这样的事情:

$( document ).ready(function() {
    $("table").kendoGrid({resizable: true});
});

如果您想要一个更直接的解决方案(即直接从数据源而不是应用于生成的表的剑道网格),那么您需要更多地解释动态表是如何生成的。

【讨论】:

  • 嗨@Fruitbat,感谢您的评论。实际上它适用于静态数据,当我使用 kendoGrid 列动态获取表字段绑定动态局部视图时,它不起作用。
猜你喜欢
相关资源
最近更新 更多
热门标签