KendoUI().Grid で発生する興味深い問題があります。
グリッドは最初は問題ありません (そして、作成、削除、キャンセル、および保存方法でうまく機能します)。しかし、行の [編集] ボタンをクリックして行が編集モードになると、2 つのコントロールのデータが「失われます」。データはテキスト ボックスに表示されません。これらは Kendo のテキスト ボックスで、ボックス内の値を上下させるための小さな上向き/下向きの矢印があります。興味深い点は、それらがまだ機能していることです。
写真は百聞は一見にしかずなので、ここにスクリーンショットを示します。
それらは順番に行きます:
- グリッドをロードすると、すべてがうまく見えます。
- [編集] ボタンをクリックすると、グリッドが編集モードになりますが、データは消えてしまいます!
- 上/下ボタンをクリックすると、「見えない」数字が完全に増加します!
- [更新] をクリックすると、データが正常に保存されます。
コードはかなりスリムです。
@(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")
)
この時点で、私はほとんどアイデアがありません。