2011-09-12 4 views
0

각 레코드에 대해 두 행으로 WebGrid를 통해 데이터를 표시하는 데 문제가 있습니다.레코드 당 두 행이있는 ASP.NET MVC3 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
<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> 
+0

감사합니다. Andrew. 그래서 내 webgrid에 영향을 미치는 중첩 테이블을 각 레코드에 대해 하나의 열만 가질 것을 제안하셨습니까? 이 설정을 사용하면 foreach() 루프를 사용하는 것과 비교할 때 어떤 이점이 있습니까? – user895852

+0

내가 여기에 샘플 코드 입니다 내가 타입 메이크업 모델 (첫 번째 행) 컬러 registeration (두 번째 줄)와 같은 두 행에서 하나의 기록을 보여주고 싶어하는 webGrid이 http://stackoverflow.com/questions/22885863/show-one-row-of-record-as-multiples-rows-in-webgrid. 이렇게 할 수 있습니까? ??? – Wasfa

0

내가 하나의 열이있는 격자를 만들 것입니다. 그런 다음 grid.Column의 두 번째 매개 변수 인 format이 Func 유형이라는 사실을 사용하십시오. 따라서 새로운 HtmlString을 만들려면이를 사용할 수 있습니다

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

즉, 두 개의 열이있는 테이블을 렌더링하는 람다 함수의 항목 매개 변수를 사용합니다.

나는 이것을 한 번도 한 적이 없어서 어떤 종류의 성능을 가지는지 알지 못합니다. 하지만 그게 최선의 방법이라고 생각합니다.

0
@grid.GetHtml(tableStyle: "webgrid1", columns: grid.Columns(grid.Column(grid.Column(format: item => new HtmlString("<table>"+ 
             "<tr>"+ "<td>"[email protected]+"</td>"+"<td>"[email protected]+"</td>"+"<td>"[email protected]+"</td>"                   
             +"</tr>" +"<tr>"+ "<td>"[email protected]+"</td>"+"<td>"[email protected]+"</td>" 
             +"<td>"[email protected]+"</td>" +"</tr>" +"<tr>"+ "<td>"[email protected]+"</td>" 
             +"<td>"[email protected]+"</td>" +"<td>"[email protected]+"</td>" +"</tr>"+"<tr>"+ 
             "<td>"+"</td>"+ "<td>"[email protected]+"</td>" +"<td>"[email protected]+"</td>" 
             +"<td>"[email protected]+"</td>" +"</tr>" +"</table>"))))