2013-08-28 62 views
2

這是我的第一篇文章。幫我。如何將數據表綁定到webgrid? 我的代碼:如何使用MVC將數據表綁定到webgrid?

SqlConnection con = new SqlConnection(CS); 
SqlCommand cmd = new SqlCommand("select * from candidate", con); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
DataTable dt = new DataTable(); 
da.Fill(dt); 
return View(dt); 

我要綁定的數據表來webgrid..help我...

+0

這不是如何MVC的作品,是從怎樣的WebForms經營着一家緩繳 - 請查看.NET的MVC使用一些教程 - HTTP://www.asp。 net/mvc/tutorials – Tommy

+0

是的,請查看LINQ和EntityFramework,因爲這些是與MVC一起使用的ORM。 – user1477388

+0

請給我任何教程鏈接... – Jebas

回答

2

這是我發現:)希望它可以幫助你最好的解決辦法:

SqlConnection con = new SqlConnection(CS); 
SqlCommand cmd = new SqlCommand("select * from candidate", con); 

DataTable dt = new DataTable(); 
SqlDataAdapter a = new SqlDataAdapter(cmd) 
a.Fill(dt); 

var result = new List<dynamic>(); 
foreach (DataRow row in dt.Rows) 
{ 
    var obj = (IDictionary<string, object>)new ExpandoObject(); 
    foreach (DataColumn col in dt.Columns) 
    { 
     obj.Add(col.ColumnName, row[col.ColumnName]); 
    } 
    result.Add(obj); 
} 

WebGrid grid = new WebGrid(Model, canPage: true, rowsPerPage: 15); 

那麼鑑於你可以使用:

@grid.GetHtml(htmlAttributes: new { id = "empTable" }, 
      tableStyle: "table table-striped table-hover", 
      headerStyle: "header", 
      alternatingRowStyle: "alt", 
      selectedRowStyle: "select", 
      columns: grid.Columns(
       grid.Column("col1name", "Column title"), 
       grid.Column("col2name", "Column2 title") 
    )) 

其中網格是你的WebGrid grid變量。

+1

它適合我。謝謝 – Osama

0

我必須使用DataTable,因爲數據來自第三方代碼通過DataTable。我有問題讓WebGrid檢測/反映添加到DataTable的列。根據mrfazolka的答案轉換爲動態列表。我最終使它成爲一個靜態方法:

public static List<dynamic> DataTable2List(DataTable dt) 
    { 
     var list = new List<dynamic>(); 
     foreach (DataRow row in dt.Rows) 
     { 
     var obj = (IDictionary<string, object>) new ExpandoObject(); 
     foreach (DataColumn col in dt.Columns) 
     { 
      obj.Add(col.ColumnName, row[col.ColumnName]); 
     } 
     list.Add(obj); 
     } 
     return list; 
    } 
相關問題