Я очень плохо знаком с Angular и в настоящее время использую Angular для отображения данных в моей AG-Grid.Моя отображаемая таблица выглядит примерно так:
ColA ColB
[Раскрывающийся список значений ColA] [Раскрывающийся список значений ColB]
Таблица:
ColA ColB ColC ColD
Значения Значения Значения Значения
Значения Значения Значения Значения
Мой HTML-код для этих двух раскрывающихся списков в настоящее время:
<mat-form-field fxFlex="15" fxFlexOffset="1">
<mat-select placeholder="ColumnA" [(ngModel)]="tableAMain.colA" (change)="ontableAChanged()">
<mat-option *ngFor="let colA of colAs" [value]="colA">
{{colA}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field fxFlex="15" fxFlexOffset="5">
<mat-select placeholder="ColumnB" [(ngModel)]="tableAMain.colB" (change)="ontableAChanged()">
<mat-option *ngFor="let colB of colBs" [value]="colA">
{{colB}}
</mat-option>
</mat-select>
</mat-form-field>
В настоящее времяэти два раскрывающихся списка независимы, то есть, скажем, в моей базе данных нет строки со значениями:
ColA ColB ColC ColD
ValueE ValueF ValueG ValueH
Так что, если я выберу«Значение E» из моего раскрывающегося списка ColA, я не хочу видеть «ValueF» как параметр в раскрывающемся списке ColB, потому что такой строки в любом случае не существует.На данный момент я могу выбрать ValueE и по-прежнему видеть ValueF из выпадающего списка ColB.Я бы хотел, чтобы значения раскрывающегося списка ColB зависели от моего первого выбора в ColA.
Моя таблица заполняется данными только в том случае, если существует хотя бы одна строка, которая удовлетворяет условиям выпадающего списка ColA и раскрывающегося списка ColB.
Оператор SQL, который я использую для извлечения ColA и ColB:
select ColA, ColB, EDITABLE
from TableA
GROUP BY ColA, ColB, EDITABLE
ORDER BY lower(ColA) ASC
Я пытался использовать перекрестное соединение в своем операторе SQL, но я не уверен, что этоправильный подход.
Буду очень признателен за любые советы или помощь.
Редактировать: Фильтрация различных столбцов в таблице материалов
Хотя тесно связаны иотличный ответ imho, я думаю, что вопрос, помеченный как «Лучший ответ», фильтрует саму таблицу, где меня больше интересуют выпадающие меню, содержащие значения столбцов.Я думаю, что ответ там отлично подходит для фильтрации самой таблицы, но я не совсем удовлетворен ее ответом на мой вопрос.