2011-02-03 3 views
1

MySQL과 함께 ASP.Net MVC3을 사용하고 있습니다.webgrid에서 ASP.Net MVC3 디스플레이 sql 출력

webgrid 도움말 클래스를 사용하여 출력 결과를보고 표시하기 위해 컨트롤러에서 SQL 결과를 반환하는 방법을 알아 내려고했습니다.

시도한 후 작동하지 않았습니다.

CONTROLER 코드

data = New DataTable 
da = New MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn) 
cb = New MySqlCommandBuilder(da) 
da.Fill(data) 
ViewData("grid") = data 

@Code 
    Dim grid As New WebGrid(ViewData("grid")) 
End Code 
@grid.GetHtml() 

이 날 수정하시기 바랍니다보기 코드, 내가 잘못 여기서 뭐하는하고있다.

감사

+0

이 라인'dataGrid.DataSource = data'의 의도는 무엇입니까? –

+0

실수로 그걸 제거하겠습니다. – sfgroups

답변

0

WebGrid 도우미 생성자 유형 IEnumerable<object>의 매개 변수를 SR.

DataTable을 열거 할 수 있는지 확인하십시오. 가장 쉬운 방법은 AsEnumerable() 확장 방법을 사용하는 것입니다. 이것은 System.Data.DataTableExtensions 클래스에 있습니다.

ViewData 개체가 DataTable에 캐스트되었는지 확인해야합니다. 그런 다음 해당 확장 방법을 사용할 수 있습니다.

이 코드는 실제로 작동 불확실한 경우 :

Dim grid As New WebGrid((DirectCast(ViewData("grid"), DataTable)).AsEnumerable()) 
+0

아니, 작동하지 않았다 asenumerable System.Data.DataTable의 멤버가 없습니다 – sfgroups