html - Angular 7+中的可编辑数据树网格
问题描述
在 Angular 7(及更高版本)中实现可编辑树形网格的最快和最简单的方法是什么?我曾尝试使用 ng angular-tree-grid,但在我目前实现的以下代码中被卡住了。
模板:
<db-angular-tree-grid #angularGrid [data]="data"
[configs]="configs"
(rowdelete)="onRowDelete($event)"
(rowsave)="onRowSave($event)"
(rowadd)="onRowAdd($event)">
</db-angular-tree-grid>
我一直无法让 onRowAdd() 和 onRowDelete() 方法工作。我需要在 onRowAdd() 中调用我的 c# webApi 上的 POST 端点。
打字稿:
export class GridComponent {
@ViewChild('angularGrid') angularGrid: AngularTreeGridComponent;
data: any = [
{ id: 1, planName: 'Functional Test',parent: 0},
{ id: 2, planName: 'Non Functional Test', parent: 0},
{ id: 3, planName: 'Component', parent: 1}
];
configs: any = {
id_field: 'id',
parent_id_field: 'parent',
parent_display_field: 'planName',
actions: {
add: true,
edit: true,
delete: true,
edit_parent: true,
add_parent: true,
delete_parent: true,
resolve_add: true,
resolve_delete: true,
resolve_edit: true
},
css: { // Optional
expand_class: 'fa fa-caret-right',
collapse_class: 'fa fa-caret-down',
add_class: 'fa fa-plus',
edit_class: 'fa fa-pencil',
delete_class: 'fa fa-trash',
save_class: 'fa fa-save',
cancel_class: 'fa fa-remove',
},
columns: [
{
name: 'planName',
header: 'PlanName',
editable: true
}
]
};
onRowAdd($e) {
const data = $e.data;
setTimeout(() => {
$e.resolve();
}, 1000);
}
onRowSave($e) {
const data = $e.data;
setTimeout(() => {
$e.resolve();
}, 1000);
}
onRowDelete($e) {
setTimeout(() => {
$e.resolve();
}, 1000);
}
}
解决方案
推荐阅读
- java - Spring Cloud Stream:如何从 REST 控制器生成 Kafka 消息?
- laravel - 我正在尝试使用 laravel 更新具有角色的用户数据
- react-native - 理解错误:无法从不同组件的函数体内更新组件
- excel - 合并2个不同范围VBA时出错
- c++ - g++ 在 Windows 上找不到对 GetModuleInformation 的引用
- macos - 链接 libcrypto.dylib 时出现链接器错误
- javascript - 节点未读取文件的全部内容
- android - Android Emulator SDK--30 不适用于 AR 应用程序 [Google sceneform sdk]
- apache - .htaccess 重定向 Facebook 爬虫,隐私政策除外
- c++ - 在 C++ 中实现策略模式的错误