Reputation: 59
In my MVC application am retrieving data from Database. I want to display the retired data in tables. controller code:
public ActionResult MyAccount()
{
var user = User.Identity.Name;
string sThumbnails = "";
DataSet dsTemplates = new DataSet();
string qryTemplets = "select * from FileInfo where UserName= '" + user + "'";
open_Connection();
SqlDataAdapter daTemplate = new SqlDataAdapter(qryTemplets, conn);
daTemplate.Fill(dsTemplates, "FileInfo");
DataTable dtTemplates = new DataTable();
dtTemplates = dsTemplates.Tables[0];
foreach (DataRow row in dtTemplates.Rows)
{
sThumbnails = sThumbnails + row["FileName"] + row["Date"] + row["Time"] + row["Info"] ;
ViewData["thumbs"] = sThumbnails;
}
close_Connection();
return View();
}
view code:
<div id="formleft" style="border-style: solid; border-color: inherit; border-width: 4px; width:550px; height:500px; position:absolute; top: 345px; left: 348px;">
<h2 class="heading" style="text-align: center;">Info</h2><%= ViewData["thumbs"] %> </div>
This code displays the data But i want to display it in tabular format.
How can i display the data in tabular format?
Upvotes: 3
Views: 32745
Reputation: 227
Add follow code Before Html Code in your Model
<style>
table th { border: 1px solid black; text-align:center }
table td { border: 1px solid black; text-align:center }
</style>
Upvotes: -2
Reputation: 56429
Don't use ViewData
, use a Model built using a custom class to store that information. Something like:
public class TableInfo
{
public string FileName { get; set; }
public string Date { get; set; } //you might want to change this to DateTime
public string Time { get; set; } //this may need changing to TimeSpan or int possibly?
public string Info { get; set; }
}
Then you can do:
List<TableInfo> tables = dtTemplates.Rows.AsEnumerable()
.Select(t => new TableInfo
{
FileName = row["FileName"],
Date = row["Date"],
Time = row["Time"],
Info = row["Info"]
})
.ToList();
close_Connection();
return View(tables);
Then in your view you can do:
@model List<TableInfo>
if (Model.Count > 0)
{
<table>
<tr>
<td>File Name</td>
<td>Date</td>
<td>Time</td>
<td>Info</td>
</tr>
@foreach (TableInfo item in Model)
{
<tr>
<td>@item.FileName</td>
<td>@item.Date</td>
<td>@item.Time</td>
<td>@item.Info</td>
</tr>
}
</table>
}
Upvotes: 5