我有这段代码:
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是一个数组,这些数据被每个值分隔为一个单独的元素,但我需要对它们进行分组 - 这是主要问题。 感谢。
答案 0 :(得分: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的设计方式。
答案 1 :(得分:0)
LINQ是你的朋友。浏览有关分组的教程。它应该很简单,因为你已经有了一个字符串[]。完成查询后,调用ToIEnumerable()扩展方法绑定到DataGridView。