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框架,看看它们是否可以一起使用

下面是一个场景

  • 我想在剑道网格中显示数据,在选择该网格上的一行时,它应该以带有文本框的形式显示该行的详细信息。用户将能够更新值,它应该反映在剑道网格中。我用knockout-kendo.js来做这个

    这是JSFIDLE链接-

    我可以显示数据并将数据绑定到网格。但单击网格中的一行。它没有反映在形式上。不知道我错过了什么。请告知

  • 我还想用Kendo UI mvc包装器测试相同的场景,以显示网格(而不是像上面的示例那样使用声明性初始化)和Knockout-Kendo.js框架,看看它们是否可以一起使用

  • 在这里,它可以将数据绑定到网格,然后我可以使用knockout-kendo或knockout从网格中获取数据并以表单形式显示,但它不会在网格中得到更新

    <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框架。