0

我在通过 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>
4

3 回答 3

0

我会创建一个只有一列的网格。然后,使用 grid.Column 的第二个参数 format 是 Func 类型的事实。因此,您可以使用它来创建一个新的 HtmlString:

grid.Column("AnyOldColumnName", format: item => new HtmlString(// Code to render a table with two rows))

即,使用 lambda 函数中的 item 参数来呈现具有两列的表。

我从来没有这样做过,也不知道它会有什么样的表现。但我认为这是最好的选择。

于 2011-09-12T08:39:02.317 回答
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>"))))
于 2015-02-06T06:47:08.250 回答
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>
于 2011-09-12T05:31:34.470 回答