【发布时间】:2023-03-28 03:16:01
【问题描述】:
我已经阅读了一些关于使用 BackgroundWorker 对象来处理执行时间密集型任务的示例,这些任务会生成用于填充 DataGridView 的结果。然而,在我的情况下,似乎填充 DataGridView 的行为是花费最多时间的行为。我想知道这是否是因为我需要格式化结果(隐藏某些列,检查每行上的某些标志以设置颜色/字体等)。
例子:
DataTable results_table;
DataGridView my_grid;
DataView my_view;
private void fillTable()
{
// Generate the results
...
// Bind the data.
my_view.Table = results_table;
my_grid.DataSource = my_view
// Format the results
my_grid.Columns[0].Visible = false;
my_grid.Columns[1].Visible = false;
my_grid.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
my_grid.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
foreach (DataGridViewRow row in my_grid.Rows)
{
// Check for flags and format necessary rows.
}
}
这是执行此操作的正确方法,还是有其他方法可以格式化结果而不必遍历每一行?
【问题讨论】:
标签: c# .net winforms multithreading datagridview