/// <summary>
        /// This function will populate the checklist boxes with the new data after a load.
        /// </summary>
        /// <param name="data"></param>
        /// <param name="filter"></param>
        public void UpdateFilters(List <string> data, FilterUtils.Filters filter)
        {
            HasFiltersAdded();

            if (!FiltersAdded)
            {
                btn_applyFilters.Enabled  = false;
                btn_clearFilters.Enabled  = false;
                btn_clearSelected.Enabled = false;
            }
            else
            {
                btn_applyFilters.Enabled  = true;
                btn_clearFilters.Enabled  = true;
                btn_clearSelected.Enabled = true;
            }


            if (!FiltersApplied)
            {
                btn_clearFilters.Enabled = false;
            }
            else
            {
                btn_clearFilters.Enabled = true;
            }



            switch ((int)filter)
            {
            case 0:
            case 1:
                break;

            case 2:     // WBS Project
                ChkdListBx_WBSProject.Invoke((MethodInvoker) delegate {
                    ChkdListBx_WBSProject.Items.Clear();
                    ChkdListBx_WBSProject.Items.AddRange(data.ToArray());
                });
                break;

            case 3:     // Material
                ChkdListBx_Material.Invoke((MethodInvoker) delegate {
                    ChkdListBx_Material.Items.Clear();
                    ChkdListBx_Material.Items.AddRange(data.ToArray());
                });
                break;

            case 4:     // Material Group
                ChkdListBx_MaterialGroup.Invoke((MethodInvoker) delegate {
                    ChkdListBx_MaterialGroup.Items.Clear();
                    ChkdListBx_MaterialGroup.Items.AddRange(data.ToArray());
                });
                break;

            case 5:    // Vendor
                ChkdListBx_Vendor.Invoke((MethodInvoker) delegate {
                    ChkdListBx_Vendor.Items.Clear();
                    ChkdListBx_Vendor.Items.AddRange(data.ToArray());
                });
                break;

            case 6:     // Vendor Description
                ChkdListBx_VendorDesc.Invoke((MethodInvoker) delegate {
                    ChkdListBx_VendorDesc.Items.Clear();
                    ChkdListBx_VendorDesc.Items.AddRange(data.ToArray());
                });
                break;

            case 7:     // Purch Group
                ChkdListBx_PurchGroup.Invoke((MethodInvoker) delegate {
                    ChkdListBx_PurchGroup.Items.Clear();
                    ChkdListBx_PurchGroup.Items.AddRange(data.ToArray());
                });
                break;

            case 8:     // IR Supp Name
                ChkdListBx_IRSuppName.Invoke((MethodInvoker) delegate {
                    ChkdListBx_IRSuppName.Items.Clear();
                    ChkdListBx_IRSuppName.Items.AddRange(data.ToArray());
                });
                break;

            case 9:     // Fxd Supp Name
                ChkdListBx_FxdSuppName.Invoke((MethodInvoker) delegate {
                    ChkdListBx_FxdSuppName.Items.Clear();
                    ChkdListBx_FxdSuppName.Items.AddRange(data.ToArray());
                });
                break;

            case 10:     // Dsrd Supp Name
                ChkdListBx_DsrdSuppName.Invoke((MethodInvoker) delegate {
                    ChkdListBx_DsrdSuppName.Items.Clear();
                    ChkdListBx_DsrdSuppName.Items.AddRange(data.ToArray());
                });
                break;

            case 11:     // Commodity Category
                ChkdListBx_CommodityCat.Invoke((MethodInvoker) delegate {
                    ChkdListBx_CommodityCat.Items.Clear();
                    ChkdListBx_CommodityCat.Items.AddRange(data.ToArray());
                });
                break;

            default:
                break;
            }
        }