私はDataTable
を表示する方法についてthisを見ましたが、Html.Display
またはHtml.DisplayFor
をDataTable
と一緒に使用できるかどうか疑問に思っていましたか?Html.Display/Html.DisplayFor/Html.DisplayForModelはDataTableで使用できますか?
NB:
DataTable
の使用は、このプロジェクトのために必要とされます。
私はDataTable
を表示する方法についてthisを見ましたが、Html.Display
またはHtml.DisplayFor
をDataTable
と一緒に使用できるかどうか疑問に思っていましたか?Html.Display/Html.DisplayFor/Html.DisplayForModelはDataTableで使用できますか?
NB:
DataTable
の使用は、このプロジェクトのために必要とされます。
私はDisplayTemplatesという名前のフォルダ内の私のViewフォルダの下に部分的なビューを作成して、DisplayTemplateを作成しました。私は部分表を呼び出しました。それが使用するモデルはデータテーブルであり、以下はコードです。あなたのビューでは、@Html.DisplayForModel("Table")
@using System.Data;
@model DataTable
<table id="example" class="display">
<thead>
<tr>
@{
foreach (DataColumn col in Model.Columns)
{
<th>@col.ColumnName
</th>
}
}
</tr>
</thead>
<tbody>
@{
foreach (DataRow row in Model.Rows)
{
<tr>
@{foreach (DataColumn col in Model.Columns)
{
<td>@row[col]
</td>
}
}
</tr>
}
}
</tbody>
</table>
データテーブルをオブジェクトのIEnumerableにマップした場合、私はDisplayForがこれを処理すると考えます。
うん、同意行うことができますが、私はプロパティがオブジェクトのためになるかわからないとのDataTableを使用する必要があります。 – Jon
型付きデータセットでは、DataTableはすでにIEnumerableです。それ以外の場合は 'mydatatable.AsEnumerable()'を使うことができます。 IEnumerableの項目はDataRow(または型指定されたデータセットの場合は継承)なので、DataRowが既にHtml.Display/Html.DisplayForでサポートされているかどうか、または実装する必要があります。 – Genius
カスタムDisplayTemplateが動作するかもしれないが、それを本当に実装する方法がわからないのだろうかと思います。 – Jon