我有一个绑定到字典的 Values 集合的 DataGridView。在表单的构造函数中,我可以创建字典并将 DataGridView 的列绑定到将包含在字典中的结构中的字段:
m_tasks = new Dictionary<int,OperationsTaskLabeledData>();
var taskArray = from task in m_tasks.Values select new {
StartDate = task.m_start_task_date.ToString("M/dd H:mm"),
EndDate = task.m_task_date.ToString("M/dd H:mm"),
Description = task.m_short_desc,
Object = task.m_device_id,
InitialLocation = task.m_initial_location,
FinalLocation = task.m_final_location };
dgvFutureTasks.DataSource = taskArray.ToArray();
我希望在表单的构造函数中使用此代码,以便可以格式化列,并且每次更新网格中的数据时我都不必重新格式化它们。
当我实际上有数据要显示在这个 datagridview 中时,我该怎么办?我将调用此函数:
private void DisplayFutureTasks(IEnumerable<OperationsTaskLabeledData> tasks)
但我不知道在这个函数里面做什么。
每次更新控件时,我都可以重新绑定 datagridview 控件并重新格式化所有列,但这似乎非常浪费。我确信有更好的方法可以做到这一点,我宁愿以某种合理的方式做到这一点,而不是使用丑陋的蛮力。