我正在为将 R data.frame 写入 C# DataGridView 的性能而苦苦挣扎。我找到了以下解决方案(原始解决方案),它真的很棒,但是如果我有例如 data.frame 1000x1000 它会占用我的生命。
DataFrame dataset = engine.Evaluate("string1").AsDataFrame(); // string1 is data.frame generated by R
engine.SetSymbol("dataset", dataset);
for (int i = 0; i < dataset.ColumnCount; ++i)
{
dgvDataFrame.ColumnCount++;
dgvDataFrame.Columns[i].Name = dataset.ColumnNames[i];
}
for (int i = 0; i < dataset.RowCount; ++i)
{
++dgvDataFrame.RowCount;
dgvDataFrame.Rows[i].HeaderCell.Value = dataset.RowNames[i];
for (int k = 0; k < dataset.ColumnCount; ++k)
{
dgvDataFrame[k, i].Value = dataset[i, k];
}
}
您是否碰巧知道是否有更有效的解决方案。非常感谢您的所有提示或建议。