Webグリッドのネストに問題があります。
1つのWebグリッドを別のWebグリッド内に配置するだけでよいのであれば問題ありませんが、既にネストされているWebグリッドにWebグリッドをネストしようとすると、失敗します。
これは私が持っているコードです:
@grid.GetHtml(columns:
grid.Columns(
grid.Column("Name"),
grid.Column("Variants", format: (item) =>
{
WebGrid varGrid = varGrid = new WebGrid(item.Variant);
return varGrid.GetHtml(
columns: varGrid.Columns(
varGrid.Column("Name")
),
displayHeader : false
);
}),
grid.Column("Resource", format: (item) =>
{
WebGrid resGrid = new WebGrid(item.Resource);
return resGrid.GetHtml(
columns: resGrid.Columns(
resGrid.Column("Name"),
resGrid.Column("Parameters", format: (item) =>
{
WebGrid resParamGrid = new WebGrid(item.Resource.Parameter);
return resParamGrid.GetHtml(
columns: resParamGrid.Columns(
resParamGrid.Column("Name")
),
displayHeader: false
);
})
),
displayHeader: false
);
}),
grid.Column("Parameter", format: (item) =>
{
WebGrid parGrid = new WebGrid(item.Parameter);
return parGrid.GetHtml(
columns: parGrid.Columns(
parGrid.Column("Name")
),
displayHeader: false
);
})
)
)
したがって、グリッドには別のグリッドがありResources
ます。すべてResources
のグリッドには、パラメーターを含むグリッドがあります。
VSではエラーは発生しませんが、アプリケーションを実行しようとすると、エラーとして返されます。
「コンパイラエラーメッセージ:CS1502:「System.Web.Helpers.WebGrid.Column(string、string、System.Func、string、bool)」に最もよく一致するオーバーロードされたメソッドにいくつかの無効な引数があります」
このスポットへのポインタ付き:
grid.Column("Resource", format: (item) =>
再帰的にネストされたWebグリッドを使用することはできませんか、それとも何か間違ったことをしていますか?