【问题标题】:DataTable Join all Rows DataDataTable 加入所有行数据
【发布时间】:2013-08-15 07:34:01
【问题描述】:

实际上,我有一个 DataTable 包含 2000 行和一个 ColumnName EMAIL。 现在,我想显示来自DataTable 的所有电子邮件,并通过, 分隔将它们添加到TextBox

我通过for 循环实现了这一点,但是,这需要很长时间。

其实,我已经用来获取ColumnNames

string[] columnNames1 = (from dc in table.Columns.Cast<DataColumn>()
                                select dc.ColumnName).ToArray();

有没有这样的事情,对于joining所有行数据到单个字符串?

【问题讨论】:

    标签: c# asp.net .net linq datatable


    【解决方案1】:
    var text = string.Join(",", table.AsEnumerable()
                                     .Select(x=>x["EMAIL"].ToString())
                                     .ToArray());
    

    【讨论】:

      【解决方案2】:

      假设任何一个值为NULL意味着,Get the NULL Object reference会发生错误

      var text=string.Join(",", table.AsEnumerable().Select(x => 
      x["EMAIL"].ToString()).ToArray());
      

      所以检查字段值,然后添加值

      var text=string.Join(",", table.AsEnumerable().Select(x => 
      ((x["EMAIL"]) ? x["EMAIL"] : "").ToString()));
      

      【讨论】:

      • 这里的 ColumnName 是什么?
      • ColumnName 是您的字段名称“电子邮件”@RealSteel
      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多