显示数据网格视图

时间:2014-07-21 00:40:02

标签: c# datagridview distinct

我试图在label.text中获取datagridview中每列的不同值,但它没有用,任何人都可以帮助我。

例如:

hair | age |friendly 
red  |old  | yes         
black|young| no
black|old  | maybe 

结果应该显示在label.text中,如下所示:hair:red,black;年龄:年老,年轻;友善:是的,不,也许。

提前感谢您的所有时间。此致

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这是一个方法(其中dt是你的数据表):

Dictionary<string, List<string>> distinct = new Dictionary<string, List<string>>();
foreach (DataColumn col in dt.Columns)
{
     distinct.Add(col.ColumnName, new List<string>());
     DataTable uniqueCols = dt.DefaultView.ToTable(true, col.ColumnName);
     distinct[col.ColumnName]
                           .AddRange(uniqueCols.AsEnumerable().SelectMany(x => x.ItemArray).Cast<string>());
}

StringBuilder b = new StringBuilder();
foreach (KeyValuePair<string, List<string>> pair in distinct)
{
     b.Append(pair.Key + ": ");
     foreach (var item in pair.Value)
     {
        b.Append(item + " ");
     }
}

label1.Text = b.ToString();