protected virtual void OnCellValueNeeded(GridViewCellValueEventArgs e)
        {
            if (this.IsSuspended)
            {
                return;
            }

            EditorControlCellValueNeededEventArgs args = new EditorControlCellValueNeededEventArgs
                                                             (e.ColumnIndex, e.RowIndex, (List <object>) this.virtualDataSource);

            if (args.RowIndex < args.VirtualDataSource.Count && args.RowIndex != -1)
            {
                object currentObject = args.VirtualDataSource[args.RowIndex];
                string columnName    = this.EditorControl.Columns[e.ColumnIndex].Name;
                if (this.typeProperties.ContainsKey(columnName))
                {
                    args.Value = this.typeProperties[columnName].GetValue(currentObject);
                }
            }

            if (this.EditorControlCellValueNeeded != null && args.VirtualDataSource.Count >= 0 && args.RowIndex != -1 &&
                args.VirtualDataSource.Count > args.RowIndex)
            {
                this.EditorControlCellValueNeeded(this, args);
            }

            e.Value = args.Value;
        }
예제 #2
0
 void virtualRadMultiColumnComboBox1_EditorControlCellValueNeeded(object sender, Implementation.EditorControlCellValueNeededEventArgs e)
 {
     if (e.ColumnIndex == 2)
     {
         e.Value = (e.VirtualDataSource[e.RowIndex] as Dummy).DummysDummy.Name;
     }
 }