将元组输出绑定到 Gridview

发布于 2024-10-20 20:40:33 字数 608 浏览 1 评论 0原文

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

I am developing a web application where in i have a WCF service which interacts with the database using entity framework. I want to get rid of creating Classes for each & every LINQ query
e.g

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 });

}

for other table & LINQ i have to create a separate class every time. Alternative to this is to use Anonymous method which is not preferable solution. To avoid both the methods I am using Tuple Class where I return List> or List> depending on the return type. This works fine but the problem is I am binding the result of LINQ query directly to a Gridview By default Tuple has properties item1,item2,..& so on. So my griview shows these names are column names so, Is there any way I can change the property name to CD, Name instead of Tuple's Item1, Item2 before binding to grid?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘿看小鸭子会跑 2024-10-27 20:40:33

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

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

when binding the list, you could use linq:

this.grid.DataSource = tupleList.Select(i => new
{
    FirstName = i.Item1,
    LastName = i.Item2,
    CD = i.Item3
});
太阳男子 2024-10-27 20:40:33

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

You would have to change the column names on the GridView and not the tuple. A tuple is a lightweight type that doesn't support much customization (MSDN). If you know what you are binding to the GridView, change the column names by handling the RowDataBound event and checking the RowType of Header, then changing the column names there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文