private void FilterInterestCombo(object sender, EventArgs e) { PInterestCategoryTable CategoryTable; PInterestCategoryRow CategoryRow; string SelectedCategory = cmbPPartnerInterestInterestCategory.GetSelectedString(); string SelectedInterest = cmbPPartnerInterestInterest.GetSelectedString(); cmbPPartnerInterestInterest.Filter = PInterestTable.GetCategoryDBName() + " = '" + SelectedCategory + "'"; // reset text to previous value or (if not found) empty text field if (cmbPPartnerInterestInterest.GetSelectedString() != String.Empty) { if (!cmbPPartnerInterestInterest.SetSelectedString(SelectedInterest)) { cmbPPartnerInterestInterest.SetSelectedString("", -1); } } CategoryTable = (PInterestCategoryTable)TDataCache.TMPartner.GetCacheablePartnerTable(TCacheablePartnerTablesEnum.InterestCategoryList); CategoryRow = (PInterestCategoryRow)CategoryTable.Rows.Find(new object[] { SelectedCategory }); // reset list of levels cmbPPartnerInterestLevel.Text = ""; cmbPPartnerInterestLevel.Items.Clear(); if ((CategoryRow != null) && !CategoryRow.IsLevelRangeLowNull() && !CategoryRow.IsLevelRangeHighNull()) { // fill the combobox with valid values for (int ii = CategoryRow.LevelRangeLow; ii <= CategoryRow.LevelRangeHigh; ii++) { cmbPPartnerInterestLevel.Items.Add(ii); } txtInterestLevelExplanation.Text = CategoryRow.LevelDescriptions; } else { txtInterestLevelExplanation.Text = ""; } if ((GetSelectedDetailRow() != null) && !GetSelectedDetailRow().IsLevelNull()) { cmbPPartnerInterestLevel.SetSelectedInt32(GetSelectedDetailRow().Level); } }