按字符拆分字符串并添加到c#中DataGridView中的不同列中



我有这个代码:

string strdata = Encoding.Unicode.GetString(buffer);
char[] splitchar = new Char[] { 'x00' };
string[] assetdata = strdata.Split(splitchar, strdata.Length);

缓冲区是作为一行的文本数据,由4种类型的变量组成。您可以在以下链接中看到在Unicode缓冲区中编码的示例:http://pastebin.com/ScdGX8it因此,这里有4种类型的数据,需要填充到由4列分隔的DataGridView行中,以便在之后对其进行排序和操作。Assetdata是一个数组,这些数据由每个值分隔为一个元素,但我需要将它们分组——这是主要问题。谢谢

这里有一种没有LINQ的方法,它使用数据表作为数据网格视图的数据源。

        DataTable dt = new DataTable("T1");
        dt.Columns.AddRange(new DataColumn[] { new DataColumn("A"), new DataColumn("B"), new DataColumn("C"), new DataColumn("D")});
        for (int i = 0; i < assetdata.Length; i += 4)
        {
            dt.Rows.Add(new string[]{assetdata[i],assetdata[i+1],assetdata[i+2],assetdata[i+3]});
        }
        dataGridView1.DataSource = dt;

通过这种方式,您可以修改数据表并更新数据网格视图,这可能会给您更多的选择,因为这更符合数据网格视图的设计方式。

LINQ是您的朋友。浏览有关分组的教程。这应该很容易,因为你已经有了一个字符串[]。完成查询后,调用ToIEnumerable()扩展方法绑定到DataGridView。

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

最新更新