【发布时间】:2015-08-23 02:26:21
【问题描述】:
我一直在努力尝试将列表转换为 IEnumerable,将我的服务引用与我的数据库中的表一起传递。我需要在开始时将 IEnumerable 转换为字符串列表,以便我可以使用 Sort() 函数,但现在我试图将其转换回 IEnumerable,以便我可以将它用作我的组合框的 Itemsource。任何想法如何做到这一点?
我使用 Silverlight 5 和 WCF RIA 服务,使用 LINQ to SQL 和 C# 语言。
代码低于我到目前为止的代码,但我在网上找到的任何东西都无法转换回 IEnumerable。
ServiceReference1.LoginInfo 是我数据库中的表。
IEnumerable<ServiceReference1.LoginInfo> list = e.Result as IEnumerable<ServiceReference1.LoginInfo>;
string comboname;
List<string> items = new List<string>();
for (int i = 0; i < list.Count(); i++)
{
comboname = list.ElementAt(i).UserName;
items.Add(comboname);
items.Sort();
}
//This is where i need something to convert the list<string> items to the IEnumerable<ServiceReference1.LoginInfo> list
//set the itemsource
RegisterPanel_CarrierComboBox.ItemsSource = list;
我试图再次将此字符串列表转换为 ienumerable 的主要原因是因为我需要能够将其设置为我的 itemsource,以使我的组合框正常工作。一旦这一切都设置好了,我就无法解决下一个问题,即为什么当我切换到另一个堆栈面板时我的组合框不会清除。
任何和所有的答案都会有所帮助。谢谢你
【问题讨论】:
-
A
List<string>已经是IEnumerable。不太确定你想在这里做什么。 -
我想要做的是,我在面板上设置了这个组合框,当您单击注册按钮时,该面板会加载我们数据库中的所有运营商。它将调出我们创建的注册面板,并将所有运营商名称加载到组合框中。这工作得很好,但是问题是,如果我点击我们的登录超链接,这将禁用注册面板并调出我们的登录页面面板,我试图让应用程序清除组合框中的信息。我会把剩下的放在另一个回复中,因为我的回复的字符用完了
-
例如,如果该人单击运营商名称,但随后决定单击登录超链接而不是填写表格的其余部分。如果我尝试这样做并选择运营商名称,然后单击超链接,整个程序就会崩溃。我尝试使用 SelectedItem = -1 并尝试使用 .Clear() 但没有任何效果。不确定这是否为您提供了了解我所了解的信息。
标签: c# linq wcf silverlight