0

KendoUI().Grid で発生する興味深い問題があります。

グリッドは最初は問題ありません (そして、作成、削除、キャンセル、および保存方法でうまく機能します)。しかし、行の [編集] ボタンをクリックして行が編集モードになると、2 つのコントロールのデータが「失われます」。データはテキスト ボックスに表示されません。これらは Kendo のテキスト ボックスで、ボックス内の値を上下させるための小さな上向き/下向きの矢印があります。興味深い点は、それらがまだ機能していることです。

写真は百聞は一見にしかずなので、ここにスクリーンショットを示します。

それらは順番に行きます:

  1. グリッドをロードすると、すべてがうまく見えます。
  2. [編集] ボタンをクリックすると、グリッドが編集モードになりますが、データは消えてしまいます!
  3. 上/下ボタンをクリックすると、「見えない」数字が完全に増加します!
  4. [更新] をクリックすると、データが正常に保存されます。

コードはかなりスリムです。

@(Html.Kendo().Grid<Project.Model.ViewModel.TheDataDetailViewModel>()
    .DataSource(dataSource =>
        dataSource.Ajax()
            .PageSize(10)
            .Batch(false)
            .Read(read => 
                read.Action(    "Data_Read", 
                                "DataController", 
                                new { externalParentId = @ViewBag.externalParentId }))
            .Create(create => 
                create.Action(  "Data_Create", 
                                "DataController", 
                                new {   hidden_Id = @ViewBag.externalParentId , 
                                        externalParentId = @ViewBag.externalParentId }))
            .Update(update => 
                update.Action(  "Data_Update", 
                                "DataController", 
                                new { externalParentId = @ViewBag.externalParentId }))
            .Destroy(delete => 
                delete.Action(  "Data_Delete", 
                                "DataController", 
                                new { externalParentId = @ViewBag.externalParentId }))
            .Model(model => { 
                model.Id(m => m.Id); 
            })
    )
    .Pageable(pager => pager
        .Numeric(true)
        .PreviousNext(true)
        .PageSizes(new int[] { 10, 25, 50, 100 })
        .ButtonCount(5)
        .Messages(messages => messages.ItemsPerPage("Records / Page"))
    )
    .Sortable()
    .Scrollable()
    .Columns(columns => {
        columns.Command(command => {
            command.Edit();
        }).Width(180);
        columns.Bound(m => m.Length).EditorTemplateName("Double");
        columns.Bound(m => m.Weight).EditorTemplateName("Double");
        columns.Bound(m => m.Sex).EditorTemplateName("Sex");
        columns.Bound(m => m.TagNumber)
            .HtmlAttributes("width: 100px;");
        columns.Command(command => {
            command.Destroy();
        }).Width(90);
    })
    .HtmlAttributes(new { style = "width: 100%;" })
    .ToolBar(tb => 
        tb.Create()
            .Text("Create")
            .HtmlAttributes(new { @class = "float-right submitposition" })
            .HtmlAttributes(new { @style = "margin: -43px 0px 0px 0px;" })
    )
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .Name("DataDetails")
)

この時点で、私はほとんどアイデアがありません。

4

0 に答える 0