0

各レコードに 2 つの行がある WebGrid を介してデータを表示するのに問題があります。

私のデータは表形式で表示する必要がありますが、列が多すぎて、列の 1 つに実際にはデータ (完全な住所) が多すぎるため、レコードごとに 2 行で表示したいと考えています。

これを達成する方法について何か考えはありますか? ありがとうございました。

各レコードに表示したい表のマークアップの簡単な例は次のとおりです。

<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
<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 に答える
0

列が 1 つだけのグリッドを作成します。次に、grid.Column の 2 番目のパラメーターである format が Func 型であるという事実を使用します。したがって、これを使用して新しい HtmlString を作成できます。

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

つまり、ラムダ関数で項目パラメーターを使用して、2 つの列を持つテーブルをレンダリングします。

私はこれをやったことがなく、どのようなパフォーマンスが得られるかわかりません。しかし、それが最善の策だと思います。

于 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 に答える