Data binding 剑道UI:使用MVVM(数据属性)使用分层datagrid时如何绑定网格/细节模板
我正在使用KendoUI构建一个分层数据网格,并且我正在使用Data binding 剑道UI:使用MVVM(数据属性)使用分层datagrid时如何绑定网格/细节模板,data-binding,kendo-ui,kendo-grid,kendo-mvvm,kendo-template,Data Binding,Kendo Ui,Kendo Grid,Kendo Mvvm,Kendo Template,我正在使用KendoUI构建一个分层数据网格,并且我正在使用MVVM方法进行小部件绑定 我想制作的那种层次化网格。但是这里的示例使用jQuery而不是MVVM 如何使用MVVM使用数据属性绑定for detail行 我已尝试使用以下代码绑定detailTemplate,但它不起作用: JS: var viewModel = kendo.observable({ ...... .......... gridDetailTemplate: "<div>Name:
MVVM
方法进行小部件绑定
我想制作的那种层次化网格。但是这里的示例使用jQuery而不是MVVM
如何使用MVVM使用数据属性绑定for detail行
我已尝试使用以下代码绑定detailTemplate
,但它不起作用:
JS:
var viewModel = kendo.observable({
......
..........
gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="viewModel.gridDetailTemplate"
>
</div>
var viewModel = kendo.observable({
......
..........
//no need of the below line here
//gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="data_grid_row_detail_template"
>
</div>
<!-- Detail template -->
<script type="text/x-kendo-template" id="data_grid_row_detail_template">
<div>Name: #: name #</div><div>Age: #: age #</div>
</script>
var viewModel=kendo.observable({
......
..........
gridDetailTemplate:“姓名:#:姓名#年龄:#:年龄”,
..........
......
});
HTML(剑道模板):
var viewModel = kendo.observable({
......
..........
gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="viewModel.gridDetailTemplate"
>
</div>
var viewModel = kendo.observable({
......
..........
//no need of the below line here
//gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="data_grid_row_detail_template"
>
</div>
<!-- Detail template -->
<script type="text/x-kendo-template" id="data_grid_row_detail_template">
<div>Name: #: name #</div><div>Age: #: age #</div>
</script>
最后,我是这样完成的: 我从viewModel中删除了detailTemplate,并在视图文件中创建了一个模板节,并使用
data detail template=“data\u grid\u row\u detail\u template”
这是我的最终代码:
JS:
var viewModel = kendo.observable({
......
..........
gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="viewModel.gridDetailTemplate"
>
</div>
var viewModel = kendo.observable({
......
..........
//no need of the below line here
//gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="data_grid_row_detail_template"
>
</div>
<!-- Detail template -->
<script type="text/x-kendo-template" id="data_grid_row_detail_template">
<div>Name: #: name #</div><div>Age: #: age #</div>
</script>
var viewModel=kendo.observable({
......
..........
//这里不需要下一行
//gridDetailTemplate:“姓名:#:姓名#年龄:#:年龄”,
..........
......
});
HTML(剑道模板):
var viewModel = kendo.observable({
......
..........
gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="viewModel.gridDetailTemplate"
>
</div>
var viewModel = kendo.observable({
......
..........
//no need of the below line here
//gridDetailTemplate: "<div>Name: #: name #</div><div>Age: #: age #</div>",
..........
......
});
<!-- Datagrid -->
<div data-role="grid"
data-columns="[
{'field':'FullName', 'title':'Full Name'},
{'field':'Gender', 'title':'Gender'},
{'field':'Email', 'title':'Email'},
{'field':'HomeTel', 'title':'HomeTel'},
{'field':'Mobile', 'title':'MobileTel'},
]"
data-bind ="source: viewModel.datasource"
data-detail-init="viewModel.getGridRowDetailData"
data-pageable='{
refresh: false,
pageSizes: true,
buttonCount: 5,
}'
data-navigatable = "true"
data-resizable = "true"
data-no-records= "true"
data-messages = '{
noRecords: "There is no data to be displayed"
}'
data-detail-template="data_grid_row_detail_template"
>
</div>
<!-- Detail template -->
<script type="text/x-kendo-template" id="data_grid_row_detail_template">
<div>Name: #: name #</div><div>Age: #: age #</div>
</script>
姓名:#:姓名#年龄:#:年龄#