我想将多行字符串从一个DataGridView(dgvObs)拆分并转置为另一个DataGridView(dgvSm)中的行和列。
这段代码可行,但是 - 也许有更好的解决方案:
object val = dgvObs.Rows[0].Cells[2].Value;
if (val == null) return;
string text = val.ToString();
using (StringReader sr = new StringReader(text))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] divLine = line.Split(',');
dgvSm.Rows.Add(divLine);
}
}
答案 0 :(得分:2)
var a = dgvObs.Rows[0].Cells[2].Value;
if (a == null) return;
foreach (String s in a.ToString().Split(','))
{
dgvSm.Rows.Add(s);
}
评论编辑:
这将读取多行,通过正则表达式拆分它,然后执行原始代码所做的操作。只需将dgvSm.Rows.Add(s);
行添加到嵌套的foreach语句中即可。
var a = @"I'm a cat, woof.
bombs, away";
var result = Regex.Split(a, "\r\n|\r|\n");
foreach (var z in result)
{
foreach (String sString in z.Split(','))
{
var asaa = sString.Trim();
}
}