In this article I am going to explain how to show data in 2
columns in MVC application.
Description:
I am displaying list of all countries in MVC application one
record per row but I want to display data in 2 columns. 2 records pre row.
Implementations:
Model
public partial class CountryMaster
{
public int ID { get; set; }
public string Name { get; set; }
public string CountryCode { get; set; }
}
Add
controller
Add an empty controller to project. Create action to get
data from countrymaster table.
Complete code of controller:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using infinitescroll.Models;
namespace infinitescroll.Controllers
{
public class CountryMasterController : Controller
{
//
// GET: / CountryMaster /
testEntities
db = new testEntities();
public ActionResult Index()
{
return View(db.CountryMasters.ToList());
}
}
}
Add
View
Add view for index action. I have divide the page layout into
2 parts and run the loop. Odd rows are listed on left side and even rows on
right side.
Complete source of View
@model IEnumerable<infinitescroll.Models.CountryMaster>
@{
ViewBag.Title = "Display data in 2 columns in MVC application";
}
<link href="~/css/bootstrap.css" rel="stylesheet" />
<link href="~/css/bootstrap-grid.css" rel="stylesheet" />
<div class="col-md-12">
@{int oddrow = 0; int evenrow = 0;}
<div class="col-md-6" style="float:left">
@foreach (var x in Model)
{
if (oddrow % 2 == 0)
{ <div style="border: 1px solid #000000; margin-bottom: 7px; padding: 2px;">
<label>Country Name :</label> @Html.DisplayFor(modelItem => x.Name)<br />
<label>Country Code :</label> @Html.DisplayFor(modelItem =>
x.CountryCode)
</div>
}
oddrow++;
}
</div>
<div class="col-md-6" style="float:right">
@foreach (var x in Model)
{
if (evenrow % 2 != 0)
{
<div style="border: 1px solid #000000; margin-bottom: 7px; padding: 2px;">
<label>Country Name :</label> @Html.DisplayFor(modelItem
=> x.Name)<br />
<label>Country Code :</label> @Html.DisplayFor(modelItem =>
x.CountryCode)
</div>
}
evenrow++;
}
</div>
</div>
No comments:
Post a Comment