private void FillGrid()
        {
            Cursor = Cursors.WaitCursor;
            gridUserProperties.BeginUpdate();
            gridUserProperties.ListGridColumns.Clear();
            GridColumn col = new GridColumn(Lan.g("TableUserPrefProperties", "Clinic"), 120);

            gridUserProperties.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("TableUserPrefProperties", "DoseSpot User ID"), 120, true);
            gridUserProperties.ListGridColumns.Add(col);
            gridUserProperties.ListGridRows.Clear();
            GridRow    row;
            UserOdPref userPrefDefault = _listUserPref.Find(x => x.ClinicNum == 0);

            //Doesn't exist in Db, create one
            if (userPrefDefault == null)
            {
                userPrefDefault = UserOdPrefs.GetByCompositeKey(_userCur.UserNum, Programs.GetCur(ProgramName.eRx).ProgramNum, UserOdFkeyType.Program, 0);
                //Doesn't exist in db, add to list to be synced later
                _listUserPref.Add(userPrefDefault);
            }
            row = new GridRow();
            row.Cells.Add("Default");
            row.Cells.Add(userPrefDefault.ValueString);
            row.Tag = userPrefDefault;
            gridUserProperties.ListGridRows.Add(row);
            foreach (Clinic clinicCur in Clinics.GetForUserod(Security.CurUser))
            {
                row = new GridRow();
                UserOdPref userPrefCur = _listUserPref.Find(x => x.ClinicNum == clinicCur.ClinicNum);
                //wasn't in list, check Db and create a new one if needed
                if (userPrefCur == null)
                {
                    userPrefCur = UserOdPrefs.GetByCompositeKey(_userCur.UserNum, Programs.GetCur(ProgramName.eRx).ProgramNum, UserOdFkeyType.Program, clinicCur.ClinicNum);
                    //Doesn't exist in db, add to list to be synced later
                    _listUserPref.Add(userPrefCur);
                }
                row.Cells.Add(clinicCur.Abbr);
                row.Cells.Add(userPrefCur.ValueString);
                row.Tag = userPrefCur;
                gridUserProperties.ListGridRows.Add(row);
            }
            gridUserProperties.EndUpdate();
            Cursor = Cursors.Default;
        }
        private void butOK_Click(object sender, EventArgs e)
        {
            if (_selectedUserNum == 0)
            {
                MsgBox.Show(this, "Please select a user.");
                return;
            }
            UserOdPref userDosePref = UserOdPrefs.GetByCompositeKey(_selectedUserNum, _programErx.ProgramNum, UserOdFkeyType.Program);

            userDosePref.ValueString = _providerErxCur.UserId.ToString();
            if (userDosePref.IsNew)
            {
                userDosePref.Fkey = _programErx.ProgramNum;
                UserOdPrefs.Insert(userDosePref);
            }
            else
            {
                UserOdPrefs.Update(userDosePref);
            }
            DialogResult = DialogResult.OK;
        }