【问题标题】:Binding Tuple output to the Gridview将元组输出绑定到 Gridview
【发布时间】:2011-07-08 22:51:52
【问题描述】:

我正在开发一个 Web 应用程序,其中我有一个 WCF 服务,它使用实体框架与数据库进行交互。我想摆脱为每个和每个 LINQ 查询创建类 例如

public class Emp
{
 public int CD{get;set;}
 public string Name{get;set;}
}


public List<Emp> GetServTypeForPromotionDue()
{
        return (from a in Context.TableName
                    select new Emp{ a.CD, a.NAME });

}

对于其他表和 LINQ,我每次都必须创建一个单独的类。对此的替代方法是使用匿名方法,这不是优选的解决方案。为了避免这两种方法,我使用元组类,我根据返回类型返回 List> 或 List>。这工作正常,但问题是我将 LINQ 查询的结果直接绑定到 Gridview 默认情况下,Tuple 具有属性 item1、item2、..& 等等。所以我的 griview 显示这些名称是列名,有什么办法可以在绑定到网格之前将属性名称更改为 CD、Name 而不是 Tuple 的 Item1、Item2?

【问题讨论】:

    标签: asp.net linq gridview


    【解决方案1】:

    绑定列表时,可以使用linq:

    this.grid.DataSource = tupleList.Select(i => new
    {
        FirstName = i.Item1,
        LastName = i.Item2,
        CD = i.Item3
    });
    

    【讨论】:

      【解决方案2】:

      您必须更改 GridView 上的列名,而不是元组。元组是不支持太多自定义的轻量级类型 (MSDN)。如果您知道要绑定到 GridView 的内容,请通过处理 RowDataBound 事件并检查 Header 的 RowType 来更改列名,然后在此处更改列名。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-12
        • 2011-09-16
        • 1970-01-01
        • 2020-06-11
        • 2018-09-16
        • 2010-09-18
        • 1970-01-01
        • 2012-03-08
        相关资源
        最近更新 更多