私のクラスにはMyCountryとMyCityの 2 つのプロパティがあります。このクラスをプロパティ グリッドの sourceobject に設定します。国を選択するときに都市をロードしたい。たとえば、2 つの国データがあります。
Country1
Country2
そしてCountry1については、(都市データ)があります
City11
City12
City13
国 2 については、(都市データ) があります。
city21
City22
City23
プロパティグリッドで選択した国アイテムを変更すると、都市アイテムに都市をロードしたい。つまり、 Country1 を選択すると City アイテムに City11,City12,City13が表示され、 Country2を選択すると City アイテムにCity21,Cityy22,City23が表示されます。
どうすればできますか?
私のクラスは:
public class KeywordProperties
{
[TypeConverter(typeof(CountryLocationConvertor))]
public string MyCountry { get; set; }
[TypeConverter(typeof(CityLocationConvertor))]
public string MyCity { get; set; }
}
そして、コンボで表示するために国のデータをロードするために以下のクラスを使用します:
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
HumanRoles Db = new HumanRoles();
List<LocationsFieldSet> Items = new List<LocationsFieldSet>();
Items = Db.LoadLocations(0);
string[] LocationItems = new string[Items.Count];
int count = 0;
foreach (LocationsFieldSet Item in Items)
{
LocationItems[count] = Item.Title;
count++;
}
return new StandardValuesCollection(LocationItems);
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return true;
}
}