2011-01-26 8 views
0

私はMVCContribグリッドを使用して、行の始まりと行の終わりをオーバーライドしようとしています。広告されたようには機能しません。私はそれが私が何かばかげていると合理的に確信しています。MVCContribグリッドのRowStartとRowEndのオーバーライド - グリッド全体の上に行の始まりと終わりがレンダリングされます

これは私のMVC2.0ビューからの抜粋です。

<div id="chargestable"> 
<br /> 
<% With Html.Grid(Model.InvoiceListingInformation) 
     .Columns(Function(column) 
        column.For(Function(setColumns) setColumns.InvoiceNumber) 
        column.For(Function(setColumns) setColumns.InvoiceDate) 
        column.For(Function(setColumns) setColumns.ExclGST) 
        column.For(Function(setColumns) setColumns.InclGST) 
       End Function) 
     .RowStart(Function(pRowStart) "Some extra text here <tr>") 
     .RowEnd(Function(pRowEnd) "</tr>") 
     .Render() 

    End With 
    %> 
</div> 

これは非常に奇妙だ...結果のHTMLです:

<div id="chargestable"> 
    <br> 
    Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here 
<table class="grid"> 
<thead> 
<tr><th>Invoice Number</th><th>Invoice Date</th><th>Excl G S T</th><th>Incl G S T</th></tr> 
</thead> 
<tbody> 
<tr><td>x</td><td>13/12/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>y</td><td>15/11/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>z</td><td>13/10/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>a</td><td>13/09/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>b</td><td>13/08/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>c</td><td>12/07/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>d</td><td>13/06/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
<tr><td>e</td><td>13/05/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr> 
</tbody> 
</table> 
</div> 

私は開始行と終了行機能に置くものは完全にグリッド上にレンダリングされています。なんで何? 私は何人かの人が私が間違って行ったことを見ることができますか?

(私は別のhtml要素内の行をラップする必要があるとして、PSは、私だけの属性を使用することはできません)

に関して、 ジェームズ

答えて

1

私はあなたが何をしたかやってみました、そして生成されたHTMLでした:

... 
<tbody> 
Some extra text here <tr>...</tr> 
Some extra text here <tr>...</tr> 
... 

しかし余分なテキストはすべては、それがどんな子要素内に含まれていないと思われるので、グリッドの上部にをレンダリングします。何が起こっているかをテストするには

、あなたが試みることができる:

.RowStart(Function(pRowStart) "<tr>extra row here</tr><tr>") 

私はあなたが実際にあなたが有効なHTMLをしたい場合は、少なくとも、別のHTML要素でラップすることができますかわからないが。

+0

愚かな私...それは単純なhtmlのルール違反です... argのおかげでdavid ... – korz

関連する問題