[英]Implement C# Linq Distinct Help in order to group a column in table
private void GetRecDept()
{
cmbDept.Items.Clear();
ListViewMeasurements.Items.Clear();
SFCDataContext SFC = new SFCDataContext();
try
{
var query = (from i in SFC.Systems_SettingsMeasurements
orderby i.RowID descending
select new {
RowID = i.RowID,
Measure = i.Measurement,
Target = i.TargetPercentage,
Dept = i.Department_ID
});
foreach (var w in query)
{
ListViewItem List = new ListViewItem(w.RowID.ToString());
List.SubItems.Add(w.Measure);
List.SubItems.Add(string.Format("{0:n2}", w.Target));
List.SubItems.Add(w.Dept);
ListViewMeasurements.Items.AddRange(new ListViewItem[] { List });
}
foreach (var r in query)
{
cmbDept.Items.Add(r.Dept.Distinct());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
它在cmbDept.Items.Add()
上的輸出顯示了這種字符串System.Linq.Enumerable+<DistinctIterator>d__7a
1 [System.Char]`與listview不同,如何將其轉換為用戶可讀的字符串類型在一個組合框中。
嘗試這個:
var distinctDept = query.Select(x=>x.Dept).Distinct().ToArray();
cmbDept.Items.AddRange(distinctDept)
關於你的問題,當你使用cmbDept.Items.Add(r.Dept.Distinct());
時, Dept
是字符串cmbDept.Items.Add(r.Dept.Distinct());
添加的項目是IEnumerable<char>
,當然它無法按預期顯示,在顯示IEnumerable<char>
之前調用ToString()
並按照您的描述為您提供結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.