1

我有这个代码:

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 是数组,此数据由每个值分隔为单个元素,但我需要将它们分组 - 这是主要问题。谢谢。

4

2 回答 2

1

这是一种没有 LINQ 的方法,它使用数据表作为 datagridview 的数据源。

        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;

通过这种方式,您可以修改数据表并更新 datagridview,这可能会为您提供更多选择,因为这更符合 datagridview 的设计方式。

于 2013-07-24T19:07:28.440 回答
0

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

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

于 2013-07-24T17:31:16.200 回答