Я работаю на веб-сайте MVC 4. Требование состоит в том, чтобы показать данные из DataTable в MVview gridview.
(1) Как правило, для отображения данных в сетке Mvc мы используем -
Но в этом случае мы знаем, какой столбец будет показан.
(2) Теперь, что нужно сделать, если мы не знаем о столбцах. Или количество столбцов, которые будут показаны, будет определяться конечным пользователем.
Может ли кто-нибудь помочь мне исправить это? Для меня хватит намека на то, как это сделать.
Лучший способ, который я нашел в качестве решения, - пойти как -
@model System.Data.DataTable
@using System.Data;
<h2>Report</h2>
<table>
<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.ColumnName]</td>
}
</tr>
}
</tbody>
Код был выбран из статьи - ASP.NET MVC: Простой вид для отображения содержимого DataTable
Попробуйте это, если вы используете MVC web grid
@{
var grid = new WebGrid(ViewBag.RegisterItems);
@grid.GetHtml(
tableStyle: "webGrid",
alternatingRowStyle: "alt",
selectedRowStyle: "select");
}
здесь ViewBag.RegisterItems
- это ваши данные, которые отображаются в сетке.