日期:2014-05-18  浏览次数:20710 次

如何将一个DataTable中的数据组合成一个字符串?
有一个DataTale,如何将其中的数据组合成一个字符串?使用-作为列分割符号,#作为行分割符号?
高手指教一下,我是个新兵

------解决方案--------------------
只要用一个稀有字字串起来,循环

一般用 , 号 或者 ' 看你表的内容吧 该字符在你表里确保不存在就行
------解决方案--------------------
C# code

StringBuilder sb = new StringBuilder();
foreach(DataRow dr in dt.Rows)
{
   sb.Append(dr["列名a"].ToSting()+"-"+dr["列名"]+"#");
}

------解决方案--------------------
string a="";
foreach(datarows row in datatable.rows)
{
for(int i=0;i<dt.Columns.Count;i++)
{
a=a+row[i]+"-";
}
a=a+"#";
}
------解决方案--------------------
支持2楼
------解决方案--------------------
C# code

StringBuilder strBAll = new StringBuilder();

foreach (DataRow dr in dtOld.Rows)
{
    for (int i = 0; i < dtOld.Columns.Count; i++)
    {
        strBAll.Append(dr[i].ToString());
        strBAll.Append("-");
    }
    strBAll.Remove(strBAll.Length - 2, 2);
    strBAll.Append("+");
}


strBAll.Remove(strBAll.Length-1, 1);

------解决方案--------------------
看了LZ的问题,发现你有个歧义,就是,你要把表里面各个列的内容相加,还是直接每行相加呢?这样就有不同的代码了哦
例如:Studert表中的Name,address两列,第一种是Name1-Name2-...Name(n)#address1-address2-...-address(n)
第二种是:Name1-address1#Name2-address2#...#Name(n)-address(n)

不过上面几个高手们都有给出这2种方法了,我是个菜鸟~只是想说说来探讨下而已,说错了别骂我哦,感激吖,正在学习,努力学习!大家一起进步!