コード例 #1
0
 protected override void OnPreRender(EventArgs e)
 {
     if (_provider != null)
     {
         _provider.GetRowData(new RowCallback(GetRowData));
     }
 }
 internal void GetConsumedData()
 {
     if ((fieldVal == null) && (field != null))
     {
         field.GetFieldValue(delegate(object v) {
             fieldVal = v;
         });
     }
     if ((tableVal == null) && (table != null))
     {
         table.GetTableData(delegate(ICollection v) {
             tableVal = v;
         });
     }
     if ((rowVal == null) && (row != null))
     {
         row.GetRowData(delegate(object v) {
             rowVal = v;
         });
     }
     if ((paramsVal == null) && (param != null))
     {
         param.GetParametersData(delegate(IDictionary v) {
             paramsVal = v;
         });
     }
 }
コード例 #3
0
        public void Callback_WhitNullRowView()
        {
            testCallBackTwoInvoked = false;

            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("TestParameter", typeof(string));
            dataTable.Rows.Add(dataTable.NewRow());

            SPSRowProvider rowProvider = new SPSRowProvider();
            IWebPartRow    provider    = rowProvider;

            provider.GetRowData(TestCallback);

            dataTable.Rows[0]["TestParameter"] = "TestModified";

            rowProvider.RowView = dataTable.DefaultView[0];

            rowProvider.SendRow();

            PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(typeof(SPSRowProvider_Tests));

            Assert.IsTrue(provider.Schema[0].Name == pdc[0].Name);
            Assert.IsTrue(provider.Schema[0].PropertyType.Equals(pdc[0].PropertyType));
            Assert.IsTrue(testCallBackTwoInvoked);
        }
コード例 #4
0
        public void SetRowConnectionInterface(IWebPartRow provider)
        {
            rowProviderToConsume = provider;

            if (powerWebPartException != null)
            {
                return;
            }

            provider.GetRowData(delegate(object row)
            {
                if (functions.ContainsKey(FunctionRowConsumer))
                {
                    EnsureChildControls();

                    try
                    {
                        Command cmd = new Command(FunctionRowConsumer);
                        cmd.Parameters.Add(new CommandParameter("object", row));
                        cmd.Parameters.Add(new CommandParameter("schema", rowProviderToConsume.Schema));

                        Pipeline pipe = runspace.CreatePipeline();
                        pipe.Commands.Add(cmd);
                        InvokePipeline(pipe);
                    }
                    catch (Exception ex)
                    {
                        powerWebPartException = new PowerWebPartException(FunctionRowConsumer, ex);
                    }
                }
            });
        }
コード例 #5
0
        public void QueryConnections()
        {
            if (rowProviderToConsume != null)
            {
                rowProviderToConsume.GetRowData(delegate(object row)
                {
                    if (functions.ContainsKey(PowerWebPartConstants.FunctionRowConsumer))
                    {
                        EnsureChildControls();

                        try
                        {
                            Command cmd = new Command(PowerWebPartConstants.FunctionRowConsumer);
                            cmd.Parameters.Add(new CommandParameter("row", row));
                            cmd.Parameters.Add(new CommandParameter("schema", rowProviderToConsume.Schema));

                            Pipeline tmpPipe = CreatePipeline();
                            tmpPipe.Commands.Add(cmd);
                            InvokePipeline(tmpPipe, false);
                        }
                        catch (Exception ex)
                        {
                            powerWebPartException = new PowerControlException(PowerWebPartConstants.FunctionRowConsumer, ex);
                        }
                    }
                });
            }

            if (tableProviderToConsume != null)
            {
                tableProviderToConsume.GetTableData(delegate(ICollection table)
                {
                    if (functions.ContainsKey(PowerWebPartConstants.FunctionTableConsumer))
                    {
                        EnsureChildControls();

                        try
                        {
                            Command cmd = new Command(PowerWebPartConstants.FunctionTableConsumer, true);
                            cmd.Parameters.Add(new CommandParameter("table", table));
                            cmd.Parameters.Add(new CommandParameter("schema", tableProviderToConsume.Schema));

                            Pipeline tmpPipe = CreatePipeline();
                            tmpPipe.Commands.Add(cmd);
                            InvokePipeline(tmpPipe, false);
                        }
                        catch (Exception ex)
                        {
                            powerWebPartException = new PowerControlException(PowerWebPartConstants.FunctionTableConsumer, ex);
                        }
                    }
                });
            }
        }
コード例 #6
0
    void IString.GetStringValue(StringCallback callback)
    {
        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        if (_provider != null)
        {
            _callback = callback;
            _provider.GetRowData(new RowCallback(GetRowData));
        }
        else
        {
            callback(null);
        }
    }
コード例 #7
0
        public void Callback()
        {
            testCallBackTwoInvoked = false;

            SPSSchemaValue schema = new SPSSchemaValue();

            schema.AddParameter("TestParameter", "System.String");
            schema.AddDataValue("TestParameter", "TestModified");

            SPSRowProvider rowProvider = new SPSRowProvider(schema.GetDataView());
            IWebPartRow    provider    = rowProvider;

            provider.GetRowData(TestCallback);
            rowProvider.SendRow();

            PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(typeof(SPSRowProvider_Tests));

            Assert.IsTrue(schema.Schema[0].Name == pdc[0].Name);
            Assert.IsTrue(schema.Schema[0].PropertyType.Equals(pdc[0].PropertyType));
            Assert.IsTrue(testCallBackTwoInvoked);
        }
コード例 #8
0
 /// <summary>
 /// Sets the row data.
 /// </summary>
 /// <param name="_connector">The _connector.</param>
 /// <param name="_update">The _update.</param>
 public void SetRowData(IWebPartRow _connector, EventHandler <DerivedType> _update)
 {
     m_Update = _update;
     _connector.GetRowData(SetData);
 }