В шаблоне вы можете использовать ' itemTemplate '
<ngx-treeview [config]="config" (selectedChange)="selectItem()" [items]="Items" [itemTemplate]="itemTemplate">
Внизу ниже вашего шаблона добавьте ng-шаблон [1113 ]
<ng-template #itemTemplate let-item="item" let-onCollapseExpand="onCollapseExpand" let-onCheckedChange="onCheckedChange">
<div class="form-inline row-item">
<i *ngIf="item.children" (click)="onCollapseExpand()" aria-hidden="true" class="fa" [class.fa-caret-right]="item.collapsed" class.fa-caret-down]="!item.collapsed"></i>
<div class="form-check">
<input type="checkbox" class="form-check-input" [(ngModel)]="item.checked" (ngModelChange)="onCheckedChange()" [disabled]="item.disabled" [indeterminate]="item.indeterminate" />
<label class="form-check-label" (click)="item.checked = !item.checked; onCheckedChange()"> {{item.title}} </label>
<label class="form-check-label">
<section *ngIf="item.children">
<img class="icon icon-w tree-view-all" src="assets/img/checked.svg" *ngIf="item.checked && item.internalChecked" (click)="selectChildren(item)" />
<img class="icon icon-w tree-view-all" src="assets/img/unchecked.svg" *ngIf="!item.checked || !item.internalChecked" (click)="selectChildren(item)" />
</section>
</label>
</div>
</div>
в компоненте используется рекурсивная функция
import { TreeviewComponent } from 'ngx-treeview';
...
@ViewChild(TreeviewComponent) treeviewComponent: TreeviewComponent;
...
selectChildren(i: TreeviewItem) {
i.collapsed = false;
if (i.children) {
this.selectInsideChildren(i);
i.checked = !i.checked;
}
this.treeviewComponent.raiseSelectedChange();
}
selectInsideChildren(item) {
item.children.forEach(i => {
i.checked = !i.checked;
if (i.children) {
this.selectInsideChildren(i);
}
});
}
Найдено на MSDN :
Да, это известная проблема, которая возникает некоторым людям. Внимательно посмотрите в ваш путь LIB. Сразу после ATLMFC, V, SDK -> \ vc98 \ lib. Удалить эту запись (и следующий за ним). Если LIB - это пользовательская переменная, тогда вы необходимо перезапустить VS или, возможно, выйти из системы и обратно. Если это система переменная, то вам придется перезагрузиться. После этого ваша ошибка должна исчезнуть.
Похоже, вы охватили здесь большинство вещей, так что единственное, что я могу придумать унаследованные листы свойств.
Они указаны в vcproj XML (или вы можете проверить Property Manager в IDE):
Мне интересно, могло ли это быть связано с изменением в использовании переключателей компилятора / MT и / MTd из / ML и / MLd, которое произошло для VS2005, связанного с библиотеками времени выполнения C?
Обратитесь сюда и посмотрите, поможет ли это: http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
У меня очень похожая проблема с проектами C # в VS.NET2010. Похоже, что это влияет только на те проекты, которые импортируют проекты C ++ / CLI. Проекты по-прежнему настроены на компиляцию с использованием набора инструментов v9.0 (C ++, C ++ / CLI) и .NET 3.5 (C ++ / CLI, C #). Удалось ли вам найти источник проблемы?
Я решил это исправить, добавив предупреждение 1668 в список игнорируемых предупреждений в свойствах затронутых проектов. Это не идеально, но лучше, чем спам в моем списке предупреждений.