コード例 #1
0
        private RadListSource <TDataItem> GetRelatedBindingSource(string dataMember)
        {
            if (this.relatedBindingSources == null)
            {
                this.relatedBindingSources = new Dictionary <string, RadListSource <TDataItem> >();
            }
            foreach (string key in this.relatedBindingSources.Keys)
            {
                if (string.Equals(key, dataMember, StringComparison.OrdinalIgnoreCase))
                {
                    return(this.relatedBindingSources[key]);
                }
            }
            RadListSource <TDataItem> radListSource = new RadListSource <TDataItem>(this.source);

            radListSource.bindingContext = this.bindingContext;
            radListSource.Bind(this.DataSource, dataMember);
            this.relatedBindingSources[dataMember] = radListSource;
            return(radListSource);
        }
コード例 #2
0
ファイル: RadDataView`1.cs プロジェクト: RichardHaggard/BDC
 private void SyncCurrent(TDataItem item)
 {
     if ((object)item == null)
     {
         RadListSource <TDataItem> sourceCollection = this.SourceCollection as RadListSource <TDataItem>;
         if (sourceCollection != null && sourceCollection.Count > 0 && (sourceCollection.Position >= 0 && sourceCollection.Position < sourceCollection.Count))
         {
             item = sourceCollection[sourceCollection.Position];
         }
     }
     if ((object)item == null && this.Count > 0)
     {
         item = this.Items[0];
     }
     if ((object)item == null)
     {
         return;
     }
     if (!this.PassesFilter(item))
     {
         if (this.Count < 0)
         {
             return;
         }
         this.SetCurrentPositionCore(this.Count == 0 ? -1 : 0, true, CurrentChangeReason.Sync);
     }
     else
     {
         if (!this.HasDataOperation)
         {
             return;
         }
         int newPosition = this.IndexOf(item);
         if (newPosition == this.CurrentPosition)
         {
             return;
         }
         this.MoveCurrentToPosition(newPosition);
     }
 }