1

私はC#の初心者です。エンティティedmxオブジェクトの外部キーを使用したコンボボックスのバインドについて質問があります。

フィールドを持つ「CustomerCard」edmxエンティティオブジェクトがあり、フィールドの1つは、Citiesテーブルのリストまたは「City」エンティティオブジェクトへのIDを含むこの顧客の外部キー(CityID)です。

コードで顧客のCityコンボボックスを管理したい。コンボボックスにデータを入力しています。また、ユーザーがレコードを保存するときに、現在選択されているアイテムを取得します。でも; コンボアイテムで選択したアイテムをCustomerエンティティオブジェクトに割り当てる方法がわかりません。エンティティオブジェクトに表示されるのは、CityプロパティとCityReferenceプロパティだけです。私の質問は、現在の都市IDで選択したアイテムをエンティティオブジェクトの「顧客カード」に割り当てるにはどうすればよいですか?コードを含めてください。

これが私のコードです

    private class CustCard
    {
        public int ID { get; set; }
        public string CompanyName { get; set; }
        public string ContactName { get; set; }
        public string City { get; set; }
    }

    public class CityCard
    {
       public int ID {get; set;}
       public string Name {get; set;}
       public string Country {get; set;}
    }

    var custCards = from p in entities.CustomerCards
                        select new CustCard
                        {
                            ID = p.ID,
                            CompanyName = p.CompanyName,
                            ContactName = p.ContactName,
                            City = p.City.Name,
                            CityID = p.City.ID,
                        };

    var cityList = from p in entities.Cities
                       select new CityCard
                       {
                            ID = p.ID,
                            Name = p.Name,
                            Country = p.Country.Name,
                       };

    //Bind City List
    CityComboBox.DataSource = CityList; //cities in the entity object
    CityComboBox.ValueMember = "ID";
    CityComboBox.DisplayMember = "Name";

    private void Save_Click(object sender, EventArgs e)
    {
            CustomerCard Cust = new CustomerCard();

            Cust.Address = addressTextBox.Text;
            Cust.CompanyName = companyNameTextBox.Text;


            **// HOW CAN I assign Selected item to the City field in the CustCard
            ????????????cityIDComboBox.SelectedItem;?????????????**

            entities.AddToCustomerCards(Cust);
            entities.SaveChanges();
    }
4

2 に答える 2

0

どうですか...

Cust.City = CityComboBox.SelectedItem.Name;
于 2010-11-03T22:30:02.347 に答える
0
  private void Save_Click(object sender, EventArgs e)
    {
            CustomerCard Cust = new CustomerCard();

            Cust.Address = addressTextBox.Text;
            Cust.CompanyName = companyNameTextBox.Text;


            Cust.City = CityComboBox.SelectedItem.Name;
            Cust.CityID = CityComboBox.SelectedItem.Value;

            entities.AddToCustomerCards(Cust);
            entities.SaveChanges();
    }
于 2010-11-03T22:34:04.927 に答える