2012-08-09 20 views
0
<div id="grid" class="ajaxGrid"> 
    @{ 
     var grid = new WebGrid(list, rowsPerPage: 8, canPage: true, canSort: true, ajaxUpdateContainerId: "grid"); 
    } 

    @grid.GetHtml(
     tableStyle: "grid", 
     headerStyle: "head", 
     alternatingRowStyle: "alt", 
     mode: WebGridPagerModes.All, 
     numericLinksCount: 10, 
     firstText: "First", 
     previousText: "Prev", 
     nextText: "Next", 
     lastText: "Last", 
     columns: grid.Columns(
     grid.Column((string)(@<text>@item.Value</text>),format: (item) => Html.ActionLink(((string)item.Text), "Search", "Home", new { id = item.Value }, new { @class = "clickable" })))) 
</div> 

当我执行程序webgrid视图不显示..什么是代码中的错误?任何人都可以为我发布答案?如何在网页gridview中设置动态列名

回答

0

System.Web.Helpers.WebGrid.Column 

具有以下构造

Column(string, string, System.Func<dynamic,object>, string, bool) 

所以我没有看到你的代码是如何工作的,我的意思是要传递错误的参数构造函数。

作为第一个参数分配

(string)(@<text>@item.Value</text>)

但它应该是字符串,所以没有lambda表达式是可能的。

这就是代码,这对我的作品

@grid.GetHtml(
     tableStyle: "grid", 
     headerStyle: "head", 
     alternatingRowStyle: "alt", 
     mode: WebGridPagerModes.All, 
     numericLinksCount: 10, 
     firstText: "First", 
     previousText: "Prev", 
     nextText: "Next", 
     lastText: "Last", 
       columns: grid.Columns(grid.Column(header: "some column header", format: (item) => Html.ActionLink(((string)item.Text), "Index", "Home", new { id = item.Id }, new { @class = "clickable" })))) 

因此,只要确保你使用列构造的正确方法。

的话题http://tinyurl.com/9n39mgv

+0

还不错线程,但我已经做了类型转换为字符串和所需的所有构造函数是使用(字符串)(@ @ item.Value)将字符串..现在什么错误..不是类型转换工作? – 2012-08-10 06:50:45

+0

请告诉我你想达到什么目的?这是一个标题名称,通常是 - 字符串常量,如“Blah” – 2012-08-10 07:02:47

+0

我必须动态地将标题名称发送到控制器,当我单击标题时..在我的数据库中有不同的表,所以我想要从不同的表中加载数据到webgrid在不同的时间..所以我不得不使用不同的表名称为不同的表..所以,我可以知道哪些表值是在gridview中加载和按标题名称排序数据.. – 2012-08-12 05:02:52

相关问题