LINQ Select 多列作为组合框 C# 的数据源
LINQ Select mutiply columns as data source for combobox C#
我有一个组合框,其中必须包含来自(Client table)的拥有房产(Estate table)的客户列表。 table 都包含 ClientID 字段。我想从 Estate table 获取 ClientID 作为 ValueMember,从 Client table 获取 Client Name 作为组合框的 DisplayMember,如下所示:
ClientComboBox.DataSource = ownerQuery;
ClientComboBox.DisplayMember = "ClientName";
ClientComboBox.ValueMember = "ClientID";
我有一个只给我 ClientName 的查询:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own.ClientName);
如何从一个查询中获取 ClientID 和 ClientName 作为 Combobox 的源。
变化:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own.ClientName);
收件人:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own);
使用匿名类型:
var qry = (from client in AgencyContext.Client
join estate in AgencyContext.Estate on client.ClientID equals estate.ClientID
select new
{
ClientId = estate.ClientId,
ClientName = client.ClientName
});
你可以这样使用:
ClientComboBox.DataSource = qry;
ClientComboBox.DisplayMember = qry.First().ClientName;
ClientComboBox.ValueMember = qry.First().ClientId;
我有一个组合框,其中必须包含来自(Client table)的拥有房产(Estate table)的客户列表。 table 都包含 ClientID 字段。我想从 Estate table 获取 ClientID 作为 ValueMember,从 Client table 获取 Client Name 作为组合框的 DisplayMember,如下所示:
ClientComboBox.DataSource = ownerQuery;
ClientComboBox.DisplayMember = "ClientName";
ClientComboBox.ValueMember = "ClientID";
我有一个只给我 ClientName 的查询:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own.ClientName);
如何从一个查询中获取 ClientID 和 ClientName 作为 Combobox 的源。
变化:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own.ClientName);
收件人:
var ownerQuery = (from own in AgencyContext.Client
join clName in AgencyContext.Estate on own.ClientID equals clName.ClientID
select own);
使用匿名类型:
var qry = (from client in AgencyContext.Client
join estate in AgencyContext.Estate on client.ClientID equals estate.ClientID
select new
{
ClientId = estate.ClientId,
ClientName = client.ClientName
});
你可以这样使用:
ClientComboBox.DataSource = qry;
ClientComboBox.DisplayMember = qry.First().ClientName;
ClientComboBox.ValueMember = qry.First().ClientId;