下面的html表格是用兩個回圈條件填充的,同樣我想用兩個回圈條件來填充Webgrid
。<table class="awe-ajaxlist table_dashboard" >
<tr class="tbl_header">
<td>/span>
付款人
</td>付款人
<td>
檢查 #
</td> 檢查#
<td>
賬單金額
</td> 賬單金額
<td>
已付金額
</td>支付金額
<td>
檢查日期
</td>> 檢查日期
<td>/span>下載檔案</td>
</tr>/span>
@foreach (var i in (List<MyDME.Data.Model.ERNFileRequestDTO> )ViewBag.lst)
{
for (int j = 0; j < i.Parse835Details.storedChkNo.Count; j )
{
<tr>
<td>/span>
@i.Parse835Details.storedPayorName[j]。
<td>
@i.Parse835Details.storedChkNo[j]。
</td> @i.Parse835Details.storedChkNo[j].
<td>/span>
@i.Parse835Details.storedTotalBilled[j]。
<td>/span>
@i.Parse835Details.storedTotalPaid[j]。
<td>/span>
@(i.Parse835Details.storeChkDate[j].Substring(4, 2) "/" i.Parse835Details.storeChkDate[j].Substring(6, 2) "/" i.Parse835Details.storeChkDate[j].Substring(0, 4) )
</td>/span>
<td>
<a href='/PatientManagement/[email protected](i. path)'>Download</a>
</td>/span>
</tr>
}
}
</table> }
我試著用下面的代碼在網頁網格中填充一個欄位。
@{
var grid2 = new WebGrid()。
List<WebGridColumn> cols = new List<WebGridColumn>()。
foreach (var i in (List<MyDME. Data.Model.ERNFileRequestDTO>)ViewBag.lst)。
{
for (int j = 0; j < i.Parse835Details.storeChkNo.Count; j )
{
cols.Add(grid2.Column("Payor", format:@<text> <span class="display-mode"> @i. Parse835Details.storedPayorName[j]</span> </text>, style: "col1Width"))。)
}
}
}
當我在這一行的代碼完成后點擊除錯模式時
var grid2 = new WebGrid()。
出現了以下錯誤。
uj5u.com熱心網友回復:
你的問題中所包含的例外是由于你沒有將WebGrid系結到一個資料源而發生的。你似乎也沒有代碼可以吐出表格,所以如果這也是一個問題的話,就可以解釋為什么你看不到表格的任何輸出。
如果你想使用WebGrid來顯示你的資料,如果你首先簡化你的物件,你將會有更多的時間。我認為你所使用的結構對它來說太復雜/不連貫了,并使這個問題變得比它應該的要復雜得多。
看起來你正在使用的結構是這樣的:
public class ERNFileRequestDTO
{
public ParsedRecords Parse835Details { get; set; }
}
public class ParsedRecordspublic List<string> storedPayorName { get; set; }
public List<string> storedChkNo { get; set; }
public List<string> storedTotalBilled { get; set; }
public List<string> storedTotalPaid { get; set; }
public List<string> storedChkDate { get; set; }
public List<string> path { get; set; }
WebGrid期待的是一個扁平的物件,更像是這樣:
public class ConsolidatedRecordForDisplay
{
public string storedPayorName { get; set; }
public string storedChkNo { get; set; }
public string storedTotalBilled { get; set; }
public string storedTotalPaid { get; set; }
public string storedChkDate { get; set; }
public string path { get; set; }
我做了一個符合你所描述的結構的資料集(盡管IMO將這些資料決議為行而不是原始源的列,這比僅僅為了顯示而轉換它更有意義):
var raw = new List<ERNFileRequestDTO>
{
new ERNFileRequestDTO {
Parse835Details = new ParsedRecords {
storedPayorName = new List<string> {"bob"/span>, "jane"/span>, "john"/span>, "jill"/span>},
storedChkNo = new List<string> {"1"/span>,"2"/span>,"3"/span>,"4"/span> },
storedChkDate = new List<string> { "20210625","20210624","20210623","20210622" },
storedTotalBilled = new List<string> { "$500"/span>, "$600"/span>, "$700"/span>, "$800"/span> },
storedTotalPaid = new List<string> { "$500"/span>, "$501"/span>, "$700"/span>, "$0"/span> },
path = new List<string> {"file1. pdf"/span>, "file2.pdf"/span>, "file3.pdf"/span>, "file4.pdf"/span>}.
}
}
};
你可以通過做你已經在做的相同風格的嵌套回圈來獲得扁平化的資料模型:
ViewBag.lst = new List<ConsolidatedRecordForDisplay> ();
foreach(var i in raw)
{
for (var j = 0; j < i.Parse835Details.storeChkNo.Count; j )
{
ViewBag.lst.Add(new ConsolidatedRecordForDisplay
{
storedChkDate = i.Parse835Details.storeChkDate[j],
storedChkNo = i.Parse835Details.storeChkNo[j],
storedPayorName = i.Parse835Details.storePayorName[j],
storedTotalBilled = i.Parse835Details.storeTotalBilled[j],
storedTotalPaid = i.Parse835Details.storeTotalPaid[j],
path = i.Parse835Details.path[j].
});
}
}
然后使用更適當的簡單的視圖邏輯來顯示它,就像這樣:
@{
var grid2 = new WebGrid(ViewBag.lst)。
}
@grid2.GetHtml(
columns: grid2.Columns(
grid2.Column("storedPayorName", "Payor") 。
grid2.Column("storedChkNo", "支票#")。
grid2.Column("storageTotalBilled", "Billed Amount")。
grid2.Column("storageTotalPaid", "Paid Amount")。
grid2.Column("storedChkDate", "Check Date", @<text>@item.storedChkDate。 Substring(4, 2)/@item.storedChkDate.Substring(6, 2)/@item.storedChkDate.Substring(0, 4)< /text>)。
grid2.Column("path", "Download File", @<text><a href='/PatientManagement/[email protected](@item.path)'> Download</a></text>)
))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319231.html
標籤:

