Kendo ui 击倒剑道和剑道UI MVC包装器
下面是一个场景Kendo ui 击倒剑道和剑道UI MVC包装器,kendo-ui,kendo-asp.net-mvc,knockout-kendo,Kendo Ui,Kendo Asp.net Mvc,Knockout Kendo,下面是一个场景 我想在剑道网格中显示数据,在选择该网格上的一行时,它应该以带有文本框的形式显示该行的详细信息。用户将能够更新值,它应该反映在剑道网格中。我用knockout-kendo.js来做这个 这是JSFIDLE链接- 我可以显示数据并将数据绑定到网格。但单击网格中的一行。它没有反映在形式上。不知道我错过了什么。请告知 我还想用Kendo UI mvc包装器测试相同的场景,以显示网格(而不是像上面的示例那样使用声明性初始化)和Knockout-Kendo.js框架,看看它们是否可以一起使用
<p class="k-block k-header k-shadow"> Kendo Grid - Companies</p>
@(Html.Kendo().Grid(Model)
.Name("somegrid")
.DataSource(ds => ds.Ajax().PageSize(10).ServerOperation(false))
.Columns(c =>
{
c.Bound(p => p.CompanyName).Width(2);
c.Bound(p => p.FullAddress).Width(2);
})
.Selectable(s => s.Mode(GridSelectionMode.Single))
.Events(e=>e.Change("onChange"))
.Pageable()
.Sortable()
.Filterable()
)
<form class="kCompaniesClass k-block k-info-colored">
<div class="k-header k-shadow">Company Details - using Kendo MVVM</div>
<table>
<tr>
<th>Company Name</th>
<th>Address</th>
</tr>
<tr>
<td>
@Html.TextBox("CompanyName",null,new Dictionary<string, object>{{"data-bind","value: CompanyName"}})
</td>
<td>
@Html.TextBox("Fulladdress",null,new Dictionary<string, object>{{"data-bind","value: FullAddress"}})
</td>
</tr>
</table>
</form>
<script type="text/javascript">
var viewModel = {
CompanyName: ko.observable(""),
FullAddress: ko.observable("")
};
function onChange(e) {
grid = e.sender;
var koCompanyItem = grid.dataItem(this.select());
viewModel = koCompanyItem;
/* ko.cleanNode(document.getElementById("somegrid"));
ko.applyBindings(viewModel, document.getElementById("somegrid"));*/
ko.applyBindings(viewModel);
}
剑道网格-公司
@(Html.Kendo().Grid(模型)
.Name(“somegrid”)
.DataSource(ds=>ds.Ajax().PageSize(10).ServerOperation(false))
.列(c=>
{
c、 边界(p=>p.CompanyName).Width(2);
c、 绑定(p=>p.FullAddress).Width(2);
})
.可选(s=>s.Mode(GridSelectionMode.Single))
.Events(e=>e.Change(“onChange”))
.Pageable()
.Sortable()
.可过滤()
)
公司详细信息-使用剑道MVVM
公司名称
地址
@TextBox(“CompanyName”,null,新字典{{“数据绑定”,“值:CompanyName”})
@TextBox(“Fulladdress”,null,新字典{{“数据绑定”,“值:Fulladdress”})
var viewModel={
公司名称:ko.可观察(“”),
完整地址:可观察到的高科(“”)
};
函数onChange(e){
grid=e.sender;
var koCompanyItem=grid.dataItem(this.select());
viewModel=koCompanyItem;
/*ko.cleanNode(document.getElementById(“somegrid”);
applyBindings(viewModel,document.getElementById(“somegrid”)*/
应用绑定(视图模型);
}
对于1。loadSelectedItem函数中存在错误。其中您有self.selectedItem=itemssent;您应该有self.selectedItem(itemssent);。我不确定2点。(这看起来更像剑道和击倒,而不是击倒剑道)但由于问题发布已经很久了,我想知道你是否/如何将剑道MVC与击倒结合起来。我无法将剑道MVC包装和击倒结合起来。因此,我结束了在没有mvc包装器的情况下使用kendo mvvm框架。