我无法通过WebGrid呈现数据,每条记录都有两行。
我的数据应以表格格式显示,但由于列太多而其中一列实际上有太多数据(完整地址),我想为每条记录显示两行。
关于如何实现这一目标的任何想法?谢谢。
我希望为每条记录看到的表格标记的一个简单示例是:
<tr>
<td>
123456
</td>
<td>
string
</td>
<td>
string
</td>
<td>
<input type="checkbox" name="ProductIds" value="1">
</td>
</tr>
<tr>
<td colspan="4">
<div>
</div>
</td>
</tr>
答案 0 :(得分:0)
<tr><td>
<table>
<tr>
<td>123456</td>
<td>string</td>
<td>string</td>
<td><input type="checkbox" name="ProductIds" value="1" /></td>
</tr>
<tr><td colspan="4">http://link</td></tr>
</table>
</td></tr>
答案 1 :(得分:0)
我会创建一个只有一列的网格。然后,使用格式(grid.Column的第二个参数)类型为Func的事实。因此,您可以使用它来创建一个新的HtmlString:
grid.Column("AnyOldColumnName", format: item => new HtmlString(// Code to render a table with two rows))
即,使用lambda函数中的item参数来呈现具有两列的表。
我从未这样做过,也不知道它会有什么样的表现。但我认为这是最好的选择。
答案 2 :(得分:0)
@grid.GetHtml(tableStyle: "webgrid1", columns: grid.Columns(grid.Column(grid.Column(format: item => new HtmlString("<table>"+
"<tr>"+ "<td>"+@lblField1+"</td>"+"<td>"+@lblField2+"</td>"+"<td>"+@lblField3+"</td>"
+"</tr>" +"<tr>"+ "<td>"+@item.Field1+"</td>"+"<td>"+@item.Field2+"</td>"
+"<td>"+@item.Field3+"</td>" +"</tr>" +"<tr>"+ "<td>"+@lblField4+"</td>"
+"<td>"+@lblField5+"</td>" +"<td>"+@lblField6+"</td>" +"</tr>"+"<tr>"+
"<td>"+"</td>"+ "<td>"+@item.Field4+"</td>" +"<td>"+@item.Field5+"</td>"
+"<td>"+@item.Field6+"</td>" +"</tr>" +"</table>"))))