Kendo ui 如何将新剑道数据源绑定到现有剑道web UI listview?
我创建一个剑道数据源并将其分配给剑道列表视图。它的工作很好。但是我为列表视图添加了搜索功能。问题是在搜索后,datasoruce被更新,但我的listview没有反映更改。请帮帮我这是下面的密码。谢谢Kendo ui 如何将新剑道数据源绑定到现有剑道web UI listview?,kendo-ui,Kendo Ui,我创建一个剑道数据源并将其分配给剑道列表视图。它的工作很好。但是我为列表视图添加了搜索功能。问题是在搜索后,datasoruce被更新,但我的listview没有反映更改。请帮帮我这是下面的密码。谢谢 <script type="text/javascript"> var shareDataSource; var title = $('#blogTitle').val() || ""; shareDataSource = new kendo.data.DataSource({
<script type="text/javascript">
var shareDataSource; var title = $('#blogTitle').val() || "";
shareDataSource = new kendo.data.DataSource({
transport: {
read: {
url: "api/BlogPosts/?title=" + title
}
},
pageSize: 15
});
$("#listView").kendoListView({
dataSource: shareDataSource,
template: kendo.template($("#template").html()),
autoBind: true
});
function searchByTitle() {
var title = $('#blogTitle').val();
shareDataSource = new kendo.data.DataSource({
transport: {
read: {
url: "api/BlogPosts/?title=" + title
}
},
pageSize: 15
});
shareDataSource.read();
}</script>
<div>
<input type="text" id="blogTitle" size="5" />
<input type="button" value="Search" onclick="searchByTitle();" />
</div> <div id="listView"></div>
<script type="text/x-kendo-tmpl" id="template">
<div class="post">
<div class="post-meta">
<h2 class="post-title"> <a title="" rel="bookmark" href="">${Title}</a></h2>
<hr/>
<p class="post-metadata">November 29, 2012 in <a rel="category tag" title="View all posts in .net" href="">.net</a>,
<a rel="category tag" title="View all posts in SQL Server R2" href="">SQL Server R2</a> | Tags: <a rel="tag" href="">software</a>,
<a rel="tag" href="">technology</a> | <a title="" href="">Leave a comment</a></p>
</div> <div class="post-content"> ${Content}
</div>
</div>
</script>
var共享数据源;var title=$('#blogTitle').val()| |“”;
shareDataSource=新建kendo.data.DataSource({
运输:{
阅读:{
url:“api/BlogPosts/?title=“+title”
}
},
页面大小:15
});
$(“#列表视图”).kendoListView({
数据源:shareDataSource,
模板:kendo.template($(“#template”).html(),
自动绑定:对
});
函数searchByTitle(){
var title=$('#blogTitle').val();
shareDataSource=新建kendo.data.DataSource({
运输:{
阅读:{
url:“api/BlogPosts/?title=“+title”
}
},
页面大小:15
});
read();
}
2012年11月29日,
|标签:,
|
${Content}
Hasib,
您已经在顶部定义了剑道数据源,请不要在搜索方法中再次重新创建它。理论上,要更新ListView,您需要在数据源上调用read:
function searchByTitle() {
shareDataSource.read();
}
更新数据源[读取]。但是应该使用。鲍比在上面提到过
//---------------------------------------------------------------------------
var shareDataSource;
shareDataSource = new kendo.data.DataSource({
transport: {
read: {
url: function(){ var title = $('#blogTitle').val() || "";
return "api/BlogPosts/?title=" + title;}
}
},
pageSize: 15
});
//----------------- better -----------------------------
var shareDataSource;
shareDataSource = new kendo.data.DataSource({
transport: {
read: {
url:"api/BlogPosts/",// "api/Blogposts/",//
data: {
title: function () { return ($('#blogTitle').val() || ""); } // sends the value of the input as the title id
}
}
},
pageSize: 15
});
我刚刚发现了您出错的地方和原因,如果您使用[ParameterMap]()将搜索词传递到您的通话中,您应该会被排序。谢谢Bobby,ParameterMap更好。我用这种方式修复了shareDatasource。var共享数据源;shareDataSource=new-kendo.data.DataSource({transport:{read:{url:function(){var title=$('#blogtTitle').val()| |“;return”api/BlogPosts/?title=“+title;}}},页面大小:15});