c++ - 优化将数据添加到 DataGridView 的代码
问题描述
我有一个循环执行很多次(比如 25000 次)。在循环内部,有一个代码可以将一行添加到 DataGridView。
dvg->Rows->Add();
完整代码如下:
for(int i = 0 ; i < m_Items->Length ; i++)
{
dgv->Rows->Add();
dgv->Rows[i]->Cells[this->IDColumn->Index]->Value = safe_cast<System::Object^>(0);
dgv->Rows[i]->Cells[this->ModColumn->Index]->Value = <<"Data from database">>
dgv->Rows[i]->Cells[this->RunColumn->Index]->Value = <<"Data from database">>
}
该语句执行 25000 次需要几秒钟。所以我试图优化这段代码的时间。
我知道进入循环之前的行数。所以我想把这个调用移出循环并调用一个可以一次添加 25000 行的函数。我在网上搜索,这是我到目前为止所尝试的。
我尝试通过将DataGridViewRow对象作为参数传递来使用DataGridView::AddRange函数。但是网上找到的示例代码令人困惑。由于我是 C# 代码的新手,我不知道如何继续。
我宣布
DataGridViewRow Test;
现在,如何编写代码告诉DataGridView中的列需要与 dvg 中的列相同(如果甚至需要)?
test
在调用DataGridView::AddRange之前是否必须填充数据?
有人可以帮忙吗?
解决方案
推荐阅读
- android - react-native - keyboardDidShow 和 keyboardDidHide 在 Android 中屏幕旋转时触发
- java - 如何在 POST 后修复空白页以在 Java EE 中将数据插入数据库
- android - 为 Button 添加 onClickListener 时出现编译错误
- javascript - 使用javascript或python正则表达式我想确定数字是否为1-99如何制作?
- spring-boot - 用于构建 spring-cloud-dataflow-server 映像的 Dockerfile
- php - 如何配置wordpress ajax超时限制
- python - 具有服务器端证书问题的 Python Paho-mqtt 客户端
- python - 从文件中删除特定模式
- docker - Docker 运行时总是出错,standard_init_linux.go:207: exec 用户进程在 Windows 上导致“没有这样的文件或目录”
- apache-spark - Spark 如何将计算转移到 HBase 中的数据?