示例#1
0
        /// <summary>
        /// todoComment
        /// </summary>
        /// <param name="AGrid"></param>
        /// <param name="tmpDT"></param>
        /// <param name="IsNew"></param>
        public void RefreshDataGrid(ref TSgrdDataGrid AGrid, DataTable tmpDT, Boolean IsNew)
        {
            DataRow             TheNewRow;
            PPartnerInterestRow tmpPartnerInterestRow;
            PInterestRow        tmpInterestRow = null; // todo: this needs to be assigned? says Timo while converting from delphi
            TRecalculateScreenPartsEventArgs RecalculateScreenPartsEventArgs;
            Int32            counter;
            StringCollection ACollection = new StringCollection();
            StringCollection SortedCollection;

            // AInterestRow : PInterestRow;
            MessageBox.Show("TmpDT count:" + tmpDT.Rows.Count.ToString());
            tmpPartnerInterestRow =
                ((PPartnerInterestRow)FMultiTableDS.PPartnerInterest.Rows.Find(new Object[] { FMultiTableDS.PPartner[0].PartnerKey, FInterestNumber }));

            // tmpPartnerInterestRow := tmpDT.rows[tmpDT.rows.count1] as PPartnerInterestRow;
            // tmpInterestRow := tmpDT.rows[tmpDT.rows.count1] as PInterestRow;
            // MessageBox.Show('Refreshgrid: '+tmpPartnerInterestRow.Interest);
            // AInterestRow := (FMultiTableDS.PInterest.Rows.Find(new Object[]{[tmpPartnerInterestRow.Interest]}) as PinterestRow);
            FPartnerInterestsGridTable = new DataTable();
            TheNewRow = FPartnerInterestsGridTable.NewRow();

            // TheNewRow['Category'] := AInterestROw.Category as System.Object;
            // TheNewRow['Category'] := 'DOG';
            TheNewRow["Interest"] = (System.Object)tmpPartnerInterestRow.Interest;
            TheNewRow["Country"]  = (System.Object)tmpPartnerInterestRow.Country;
            TheNewRow["Field"]    = (System.Object)tmpPartnerInterestRow.FieldKey;
            TheNewRow["Level"]    = (System.Object)tmpPartnerInterestRow.Level;
            TheNewRow["Comment"]  = (System.Object)tmpPartnerInterestRow.Comment;
            FPartnerInterestsGridTable.Rows.Add(TheNewRow);
            AGrid.DataSource = new DevAge.ComponentModel.BoundDataView(FPartnerInterestsGridTable.DefaultView);
            counter          = 0;

            foreach (DataRow tmpRow in FPartnerInterestsGridTable.Rows)
            {
                ACollection.Add(tmpRow[PInterestTable.GetCategoryDBName()].ToString());
            }

            SortedCollection = StringHelper.StrSort(ACollection);

            foreach (String AInterestString in SortedCollection)
            {
                counter = counter + 1;

                if (AInterestString == tmpInterestRow.Interest.ToString())
                {
                    break;
                }
            }

            RecalculateScreenPartsEventArgs            = new TRecalculateScreenPartsEventArgs();
            RecalculateScreenPartsEventArgs.ScreenPart = TScreenPartEnum.spCounters;
            OnRecalculateScreenParts(RecalculateScreenPartsEventArgs);
            AGrid.Selection.Focus(new Position(1, 1), true);
            AGrid.Selection.ResetSelection(false);
            AGrid.Selection.SelectRow(counter, true);
        }
        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);
            }
        }
示例#3
0
 /// <summary>
 /// todoComment
 /// </summary>
 /// <param name="Category"></param>
 /// <returns></returns>
 public String GetInterestCategory(String Category)
 {
     DataRowView[] Ar;
     Ar = this.FInterestDV.FindRows(Category);
     return(Ar[0][PInterestTable.GetCategoryDBName()].ToString());
 }