В этом посте мы увидим, как мы можем разработать сетку MVC в нашем приложении MVC . Здесь мы собираемся использовать сетку с именем MVC grid, которая использует bootstrap и jQuery . Сначала мы создадим некоторые динамические данные, используя список, и как только это будет сделано, мы отправим эти данные в сетку MVC.
Скачать исходный код
Загрузите исходный код здесь: MVC_GRID_IN_MVC.rar
Фон
Я давно работаю с элементами управления Grid. До сих пор я работал с jQX Grid, jQ Grid, jQuery Datatables, сводными таблицами, KO grid и другими. Всегда интересно работать с некоторыми элементами управления. Недавно я работал с сеткой MVC, поэтому я решил поделиться этим опытом.
Создать приложение MVC
Сначала мы начнем с создания приложения MVC. Откройте Visual Studio, затем нажмите Файл-> Создать-> Проект. Назовите свой проект.
Установить MVC Grid
Следующий шаг, который мы собираемся сделать, это установка сетки MVC в наш проект. Для установки щелкните правой кнопкой мыши свое решение и выберите Управление пакетами NuGet.
Выберите пакет NuGet
Теперь вы можете увидеть новое окно. Найдите сетку MVC в окне поиска. И затем нажмите Установить.
Install_MVC_Grid_To_Project
После установки вы увидите, что был добавлен новый справочный файл (GridMVC), и вы также заметили, что созданы два представления (_Grig.cshtml, _GridPager.cshtml) и один файл CSS и несколько сценариев. Теперь мы перейдем к следующему шагу.
зависимости
Как я уже говорил, сетка MVC использует Bootstrap для дизайна. Далее нам нужно установить Bootstrap в наш проект. Для этого снова зайдите в пакеты NuGet и найдите Bootstrap.
Install_Bootstrap_To_Project
Вы можете видеть, что некоторые новые CSS-файлы и скрипты были добавлены в наш проект. Итак, настройка завершена, и теперь нам нужно перейти к кодированию.
Создать контроллер
Теперь мы можем создать новый контроллер, в моем случае я создал контроллер «HomeController». В моем контроллере я собираюсь вызвать действие модели, которое будет возвращать некоторые динамические данные. Смотрите код ниже.
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
Test t = new Test();
var myList= t.GetData();
return View(myList);
}
}
Как видите, я создаю экземпляр моей модели Test. Теперь мы создадим наш модельный класс.
Создать модель
Я создал модельный класс с именем Test. Здесь я создаю некоторые данные динамически с помощью цикла for и присваиваю эти значения списку. Смотрите код ниже.
namespace AsyncActions.Models
{
public class Test
{
public List<Customer> GetData()
{
try
{
List<Customer> cst = new List<Customer>();
for (int i = 0; i < 100; i++)
{
Customer c = new Customer();
c.CustomerID = i;
c.CustomerCode = "CST" + i;
cst.Add(c);
}
return cst;
}
catch (Exception)
{
throw new NotImplementedException();
}
}
}
public class Customer
{
public int CustomerID { get; set; }
public string CustomerCode { get; set; }
}
}
Как видите, я создаю список типа Customer. Что дальше? Да, вид.
Создать строго типизированное представление
Теперь мы собираемся создать строго типизированное представление.
Create_Strongly_Typed_View
Наше представление готово, поэтому теперь мы можем сделать некоторое кодирование в нашем представлении, чтобы заполнить нашу сетку. Вы готовы? Прежде всего, нужно включить необходимые ссылки на наше представление, что вы можете сделать в файле с именем Layout.cshtml. Здесь я собираюсь добавить эти ссылки непосредственно к представлению.
<link href="~/Content/bootstrap-theme.css" rel="stylesheet" />
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<script src="~/Scripts/jquery-2.1.3.min.js"></script>
<link href="~/Content/Gridmvc.css" rel="stylesheet" />
<script src="~/Scripts/gridmvc.min.js"></script>
Добавьте пространство имен сетки
Вы можете добавить пространство имен сетки следующим образом.
@using GridMvc.Html
Чтобы добавить сетку MVC как наше требование, вам нужно добавить коды, как показано ниже:
@Html.Grid(Model).Columns(columns =>
{
columns.Add(foo => foo.CustomerID).Titled("Customer ID").SetWidth(50).Sortable(true).Filterable(true);
columns.Add(foo => foo.CustomerCode).Titled("Customer Code").SetWidth(50).Sortable(true).Filterable(true);
}).WithPaging(20)
Как видите, мы используем столбцы Customer.CustomerID и Customer.CustomerCode.
Вывод
MVC_Grid_With_Dynamic_Data
Добавить больше функций сетки
Для настройки подкачки мы можем использовать опцию WithPaging (20) .
Чтобы добавить заголовок мы можем использовать свойство Titled .
Чтобы установить ширину, мы можем использовать свойство SetWidth .
Для установки сортировки мы можем использовать свойство Sortable .
Чтобы установить фильтр, мы можем использовать свойство Filterable .
Вы всегда можете увидеть дополнительные опции здесь .