0

SSIS 制御フロー タスクを開発しています。私のUIには、利用可能なユーザー変数のリストを表示するコンボボックスと、新しい変数を追加する機能があります。変数を正常に追加できましたが、データソースを再設定した後でもコンボボックスに変数が表示されません。SelectionChangeCommitted イベントで、コンボボックスの選択を保存しています。ユーザーが新しい SSIS ユーザー変数の追加を選択すると、このメソッド内でプロンプトが表示されます。変数が保存され、コンボボックスのデータソースが再作成されます。私の新しい変数はドロップダウンリストに表示されていませんが。別のイベントでコンボボックスを再設定する必要がありますか?

以下に使用しているコードの例を示します。

  private List<string> FillVariablesList()
    {
        List<string> Variables = new List<string>();
        Variables.Add("");
        Variables.Add(New_Variable);
        foreach (Variable v in this.theTaskHost.Variables)
        {
            if (!v.SystemVariable && v.DataType == TypeCode.String)
                Variables.Add(v.Name);
        }

        return Variables;
    }

 combobox.datasource = FillVariablesList();
4

1 に答える 1

1

このような共有 ObservableCollection を使用してみてください。

... 
class A
{
    private ObservableCollection<string> variables = new ObservableCollection<string>();

    ...
    private void FillVariablesList() 
    {
        variables.Clear();
        variables.Add(""); 
        variables.Add(New_Variable); 

        foreach (Variable v in this.theTaskHost.Variables) 
        { 
            if (!v.SystemVariable && v.DataType == TypeCode.String) 
                variables.Add(v.Name); 
        }

        this.comboBox.DataSource = null;
        this.comboBox.DataSource = variables;
    }
}

また、FillVariables メソッドをセットアップして、新しいメソッドをクリアして再入力するのではなく、新しいメソッドを追加することもできます。コードの残りの部分がどのように構成されているかわかりません。

于 2012-07-25T17:11:05.403 に答える