我有一个asp.net应用程序,我正在使用ado.net实体框架,我想在该下拉列表中绑定两列。例如:
在数据库中他们的两列First_name,Last_name。我希望这两个列值使用C#进入一个下拉列表。
怎么做?
public void BindClients()
{
//To Bind the Client Names for Searching Option
var ddlclientnames = (from ddl in mortgageentity.Clients select ddl).ToList();
if (ddlclientnames.Count() > 0)
{
ddlsearchclient.DataSource = ddlclientnames;
ddlsearchclient.DataValueField = "Client_ID";
ddlsearchclient.DataTextField = "LastName";
ddlsearchclient.DataBind();
}
}
答案 0 :(得分:2)
您可以做的是在Object上为您定义一个自定义属性:
为对象的清晰度而编辑
你会写类似
的东西public partial class Clients
{
public string FullName
{
get { return String.Format("{0}, {1}", LastName, FirstName); }
}
}
这会在FullName
实体上为您提供只读属性Clients
。
然后你可以做以下
public void BindClients()
{
//To Bind the Client Names for Searching Option
var ddlclientnames = (from ddl in mortgageentity.Clients select ddl).ToList();
if (ddlclientnames.Any)
{
ddlsearchclient.DataSource = ddlclientnames;
ddlsearchclient.DataValueField = "Client_ID";
ddlsearchclient.DataTextField = "FullName";
ddlsearchclient.DataBind();
}
}
我还建议使用Any
方法而不是ddlclientname.Count > 0
,因为它不需要枚举整个集合。
答案 1 :(得分:0)
试试这个
ddl.Items.Clear();
foreach (var item in myCollection)
{
ddl.Items.Add(new ListItem(item.FirstName + "," + item.LastName, item.ID));
}
答案 2 :(得分:0)
除非您经常使用全名,否则我建议您在选择中使用匿名类型。
这也限制了您在选择和其他开销中完成的数据量。
var ddlclientnames = (from ddl in mortgageentity.Clients
select new { id = ..., FullName = FirstName + Lastname}.ToList();
答案 3 :(得分:0)
DataSet ds = MyDataSet();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dropLojas.Items.Add(ds.Tables[0].Rows[i]["COLUNA1"].ToString() + ds.Tables[0].Rows[i]["COLUNA2"].ToString() + ds.Tables[0].Rows[i]["COLUNA3"].ToString());
dropLojas.DataValueField = ds.Tables[0].Rows[i]["COLUNA1"].ToString();
}
你可以做到最好。
答案 4 :(得分:0)
protected void BindSalesOrganization()
{
IList<Customer> objCustomerList = (new CustomerFacade()).GetAllSalesOrgByUserCode(SessionManager.UserCode);
if (objCustomerList != null && objCustomerList.Count >= 0)
{
ddlSalesOrg.Items.Clear();
ddlSalesOrg.DataSource = objCustomerList;
ddlSalesOrg.DataTextField = "SalesOrganization";
ddlSalesOrg.DataValueField = "SalesOrgCode";
ddlSalesOrg.DataBind();
}
}
答案 5 :(得分:0)
Tue Nov 06 2018 16:52:00 GMT+0530 (India Standard Time)