0

私が本当にやろうとしているのは、3つの異なるコンボボックスに同じアイテムを追加することだけです。このコードが以下で実行されると、1つのコンボボックスのみが値を取得します。どんな助けでも歓迎します。ありがとう!

for (int i = 0; i < 100; i++)
        {
            RadComboBoxItem li = new RadComboBoxItem();
            li.Text = i.ToString();
            li.Value = i.ToString();
            InputPairThousandValueComboBox.Items.Add(li);
            InputUsertThousdandValueComboBox.Items.Add(li);
            InputCurrentlyListedThousdandComboBox.Items.Add(li);

        }
4

2 に答える 2

2

Telerikのドキュメントには、これを明示的に示しているものは何も見つかりませんでしたが、aの単一のインスタンスは単一の;RadComboBoxItemにしか含めることができないようです。コントロール間で共有することはできません。 RadComboBoxRadComboBoxItem

ドキュメントはこれを示唆しています:には、アイテムを含むRadComboBoxItemへの参照である'owner'プロパティがRadComboBoxあります(所有者は1人だけであることを意味します)

裏で、2回目と3回目のAdd(...)呼び出しでは、最初に、すでに入っているコンボボックスからアイテムを削除する可能性があります。

したがって、RadComboBoxItemごとに個別に作成する必要がありますRadComboBoxRadComboBoxItemこれは、テキストと値を引数として受け取るコンストラクターを使用して実行できる1つの方法です。

for (int i = 0; i < 100; i++)
{
   var val = i.ToString();
   InputPairThousandValueComboBox.Items.Add(new RadComboBoxItem(val, val));
   InputUsertThousdandValueComboBox.Items.Add(new RadComboBoxItem(val, val));
   InputCurrentlyListedThousdandComboBox.Items.Add(new RadComboBoxItem(val, val));
}
于 2012-07-30T23:30:29.300 に答える
0

まだこの問題に直面している人のために、私が見つけた方法は、アイテムを辞書として追加してから、データソースにバインドすることです。 telerikフォームへのリンク

    Dictionary<string, string> comboSource = new Dictionary<string, string>();
    comboSource.Add("", "");
    comboSource.Add(user.Rs.GetString("txtDate"), "phDate");
    comboSource.Add(user.Rs.GetString("txtBranch"), "mhBranch");
    comboSource.Add(user.Rs.GetString("txtDepartmentCode"), "mhDepartmentCode");
    comboSource.Add(user.Rs.GetString("txtLocationCode"), "mhLocationCode");
    comboSource.Add(user.Rs.GetString("txtModelCode"), "mhModel");
    comboSource.Add(user.Rs.GetString("txtProductCode"), "phProductCode");
    comboSource.Add(user.Rs.GetString("txtShiftCode"),"shShiftCode");
    comboSource.Add(user.Rs.GetString("txtSubcategory"),"phSubcategory");

    cboSort1.DataSource = cboSort2.DataSource = cboSort3.DataSource = cboSort4.DataSource = comboSource;
    cboSort1.DataTextField = cboSort2.DataTextField = cboSort3.DataTextField = cboSort4.DataTextField = "Key";
    cboSort1.DataValueField = cboSort2.DataValueField = cboSort3.DataValueField = cboSort4.DataValueField = "Value";
    cboSort1.DataBind();
    cboSort2.DataBind();
    cboSort3.DataBind();
    cboSort4.DataBind();
于 2018-01-18T15:03:15.830 に答える