如何在listview kendo ui的数据源中设置数据项

Bha*_*iya 2 jquery kendo-ui kendo-grid

我的数据列表视图网格结构是这样的.

<div id="listView">
 <div class="product"><h3>India</h3></div>
 <div class="product1"><h3>Gujarat</h3></div>
 <div class="product"><h3>Surat</h3></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想设置数据源具有类product1的新数据.

恩.喜欢

<div class="product1"><h3>Gujarat</h3></div>
Run Code Online (Sandbox Code Playgroud)

我想把古吉拉特改成其他名字.

我使用下面的代码,但这只设置第一个元素,而不是检查特定的类.

var firstItem = $('#listView').data().kendoListView.dataSource.data()[0];
firstItem.set('name','The updated Name');
Run Code Online (Sandbox Code Playgroud)

如果你知道的话,请回复解决方案.

Ona*_*Bai 7

你可以试试:

var list = $("#listView").data("kendoListView");
var uid = $(".product2", list.target).data("uid");
item = list.dataSource.getByUid(uid);
item.set("name", "The updated Name");
Run Code Online (Sandbox Code Playgroud)

我所做的是:

  • 获取对Kendo UI ListView的引用
  • 解压缩uid列表元素.
  • 使用getByUidfrom DataSource来查找具有该元素的元素uid.
  • 更新name.

第二种方法可能效率较低:

var list = $("#listView").data("kendoListView");
var idx = $("div", list.target).index($(".product1", list.target));
var item = list.dataSource.data()[idx];
item.set("name", "The updated Name");
Run Code Online (Sandbox Code Playgroud)
  • 获取列表视图的引用.
  • 然后通过检索div列表中的所有内容(列表中的每个项目)找到索引,然后查找具有该类的索引product1.
  • 从ListView数据源获取项目.
  • 最后,更新了name.