我制作了一个MatTable,您可以在其中进行过滤。如果没有与过滤器匹配的数据,我想使用Angular Material文档中提到的* matNoDataRow 指令显示文本。但是,它不像Angular Material的示例中那样起作用。 有什么我忘了吗?还是该指令不起作用? 我使用Angular 9。
这是我的桌子:
from tqdm import tqdm
df1a=df1.groupby('name')
df2a=df2.groupby('name')
mergedf=df1
mergedf['maximum']=-1
mergedf['minimum']=-1
def get_min_max(row):
dfx=df2x.iloc[df2x.index.searchsorted(row['start_date']): df2x.index.searchsorted(row['end_date'])]
maximum = dfx['high'].max()
minimum = dfx['low'].min()
return pd.Series({'maximum': maximum, 'minimum': minimum})
for name,df in tqdm(df1a):
df2x=df2a.get_group(name)
mergedf.loc[[name],['maximum','minimum']]=df.apply(get_min_max,axis=1)
答案 0 :(得分:8)
该功能仅在最新版本的Angular(v10)中可用。如果您将文档切换为显示v9(现在显示9.2.4),则会看到该功能不属于API。
也就是说,我也无法正常工作。即使在Angular 10中也是如此::(
更新:我确实可以正常工作。 (我正在使用Angular 10.0.1)。我的工作代码看起来与您的实现方式完全相同。因此,升级到Angular 10应该可以解决问题。
答案 1 :(得分:2)
我同意杰西的观点。它在 Angular 10 中运行良好。您的代码没有任何问题。甚至我也做了同样的检查。
<tr class="mat-row" *matNoDataRow>
<td class="mat-cell" colspan="4">No data found</td>
</tr>