private void FillGrid()
        {
            List <long> listSelectedOpNums = gridMain.SelectedTags <Operatory>().Select(x => x.OperatoryNum).ToList();
            int         scrollValueCur     = gridMain.ScrollValue;

            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            int opNameWidth = 180;
            int clinicWidth = 85;

            if (!PrefC.HasClinicsEnabled)
            {
                //Clinics are hidden so add the width of the clinic column to the Op Name column because the clinic column will not show.
                opNameWidth += clinicWidth;
            }
            GridColumn col = new GridColumn(Lan.g("TableOperatories", "Op Name"), opNameWidth);

            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "Abbrev"), 70);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "IsHidden"), 64, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            if (PrefC.HasClinicsEnabled)
            {
                col = new GridColumn(Lan.g("TableOperatories", "Clinic"), clinicWidth);
                gridMain.ListGridColumns.Add(col);
            }
            col = new GridColumn(Lan.g("TableOperatories", "Provider"), 70);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "Hygienist"), 70);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "IsHygiene"), 64, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "IsWebSched"), 74, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableOperatories", "IsNewPat"), 0, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            gridMain.ListGridRows.Clear();
            UI.GridRow row;
            for (int i = 0; i < _listOps.Count; i++)
            {
                if (PrefC.HasClinicsEnabled &&
                    !comboClinic.IsAllSelected &&
                    _listOps[i].ClinicNum != comboClinic.SelectedClinicNum)
                {
                    continue;
                }
                row = new OpenDental.UI.GridRow();
                row.Cells.Add(_listOps[i].OpName);
                row.Cells.Add(_listOps[i].Abbrev);
                if (_listOps[i].IsHidden)
                {
                    row.Cells.Add("X");
                }
                else
                {
                    row.Cells.Add("");
                }
                if (PrefC.HasClinicsEnabled)
                {
                    row.Cells.Add(Clinics.GetAbbr(_listOps[i].ClinicNum));
                }
                row.Cells.Add(Providers.GetAbbr(_listOps[i].ProvDentist));
                row.Cells.Add(Providers.GetAbbr(_listOps[i].ProvHygienist));
                if (_listOps[i].IsHygiene)
                {
                    row.Cells.Add("X");
                }
                else
                {
                    row.Cells.Add("");
                }
                row.Cells.Add(_listOps[i].IsWebSched?"X":"");
                row.Cells.Add((_listOps[i].ListWSNPAOperatoryDefNums != null && _listOps[i].ListWSNPAOperatoryDefNums.Count > 0) ? "X" : "");
                row.Tag = _listOps[i];
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            for (int i = 0; i < gridMain.ListGridRows.Count; i++)
            {
                Operatory op = (Operatory)gridMain.ListGridRows[i].Tag;
                if (op.OperatoryNum.In(listSelectedOpNums))
                {
                    gridMain.SetSelected(i, true);
                }
            }
            gridMain.ScrollValue = scrollValueCur;
        }