我正在开发一个项目,要求我使用Kendo UI和Knockout.js作为移动应用程序,作为一种绑定这些库的方法我正在使用knockout-kendo库,该应用程序包含一个简单的产品列表每个产品和购物车的详细视图,但是我在更新购物车中的商品数量时遇到了一些问题.
我在我的应用程序中使用knockout-kendo绑定如下:
<div data-role="view" id="cart" data-title="Cart" data-layout="main-layout">
<div data-bind="if: items().length == 0">No items currently in cart</div>
<ul data-role="listview" data-style="inset" data-bind="kendoListView: { data: items, template: cartTemplate }"></ul>
</div>
Run Code Online (Sandbox Code Playgroud)
模板的位置是:
<script type="text/x-kendo-template" id="cartListTemplate">
<div class="km-listview-link cart-item-container" data-id="#= Id #">
<div class="product-image">
<img src="#= ImageUrl #">
</div>
<div class="product-description">
<p>#= Name #</p>
<p>#= formattedPrice #</p>
<p>#= quantity #</p>
</div>
<a data-role="button" data-icon="delete" class="km-primary" data-bind="click: removeItem">Delete</a>
</div>
</script>
Run Code Online (Sandbox Code Playgroud)
而ViewModel是:
CartViewModel : function () {
var self = this;
globalKo.cartItems = self.items = ko.observableArray(JSON.parse(localStorage.getItem('cart')) …
Run Code Online (Sandbox Code Playgroud) 我有一个使用knockout-kendo集的kendo ui网格.
我在网格的一列中有一些自定义按钮,即进行ajax调用以编辑另一个div中的条目,删除一个或检查editId以调用函数.我的问题是,这两个事件都被解雇了两次!除了我,它看起来像dataBound
事件和dataBinding
事件是相同的.
这是一个小提琴
this.dataBound = function(){
alert('dataBound');
};
this.dataBinding = function(){
alert('dataBinding');
};
Run Code Online (Sandbox Code Playgroud)
我尝试了一些不同的方法.
这是另一个小提琴
this.gridConfig = {
data: self.myData,
datasource: {
data: 'data'
},
dataBound: function(){
alert('dataBound');
},
dataBinding: function(){
alert('dataBinding');
},
};
Run Code Online (Sandbox Code Playgroud)
绑定网格时以及绑定数据时会触发事件.但是,如果所有数据都在那里,我怎么能确定只获得一个事件?
有谁知道那里发生了什么?顺便说一下,我使用映射插件.
我有一个jquery UI对话框,它必须在打开后动态设置其高度和宽度.这包含标题div,kendo网格和页脚div.我想做的是使kendo网格滚动而不是对话框; 对话框实际上必须是溢出:由于其他原因而隐藏.换句话说,我需要kendo网格(内容)来填充页脚和页眉之间的100%空间.我也在使用淘汰赛,淘汰赛.
<div id="popup">
<div id="header">
<p>blah</p>
<p>blah</p>
<p>blah</p>
</div>
<div data-bind="kendoGrid: items"> </div>
<div id="footer">
<p><a href="#">CLOSE</a></p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JSFIDDLE:http://jsfiddle.net/pbkBd/2/
我尝试使用此示例来设置内容高度,但无法使其与我的方案一起使用:http://jsfiddle.net/dimodi/MjKmJ/
使用knockout-kendo绑定绑定Telerik Kendo网格时是否可以指定默认排序?
我像这样绑定网格:
kendoGrid: { data: grid.Rows, sortable: {allowUnsort: false,mode:'single'}, columns: grid.Columns}
Run Code Online (Sandbox Code Playgroud)
但是,我还没有找到指定默认排序的方法.标准Kendo有一个sort:{field:"Col1",dir:"asc"}
可以在数据源上指定的元素,但不清楚如何将其应用于kendoGrid
绑定
默认的Kendo排序元素:http://docs.telerik.com/kendo-ui/api/framework/datasource#sort-array--objectdefault
我尝试使用带有敲除绑定和Knockout-Kendo.js库的kendo网格
它的定义如下:
<div data-bind="kendoGrid:
{
data: SearchResult,
rowTemplate: 'rowTmpl',
altRowTemplate: 'altTmpl',
useKOTemplates: true
}">
</div>
<script id="rowTmpl" type="text/html">
<tr class="tdText" role="row">
<td >
<a data-bind="attr: { href: 'scrccc_checkEdit.aspx?id=' + CheckID }" >
<img src="images/icon-edit.gif" border="0" alt="Edit/View Check" />
</a>
</td>
<td data-bind="text: CheckNumber"></td>
<td data-bind="text: new Date(CreateDate).MMddyyyy()"></td>
//...
<td data-bind="text: ParishName">
</tr>
</script>
<script id="altTmpl" type="text/html">
//....
Run Code Online (Sandbox Code Playgroud)
从REST服务加载的数据有更多的列,我希望在网格中显示该行看起来没问题,由于模板,但问题在于网格标题,为源中的每个字段创建列.
如何隐藏标题中的某些列,并自定义其标题标签(更改列宽,标题标签并最终允许其他自定义.
例如,在上图中我想要Co